我试图让用户在图像中插入主题。我知道我不能将 WHERE 子句与 INSERT INTO 语句结合使用,而且我知道我应该使用 SELECT。我对 mysql 很陌生,我不明白我试图在谷歌上搜索的结果。所以我需要一个更具体的答案;)
$classed = mysql_query("INSERT INTO images (subject) VALUES ('$_POST[subject]') WHERE image_id='$_POST[id]'");
你不能WHERE在你的INSERT陈述中使用。UPDATE如果要更新现有行或INSERT不WHERE插入新行,请考虑尝试。
不要使用该mysql_query功能,因为它已弃用。尝试改用PDO或mysqli_query。
永远不要在查询中使用未经过滤的输入。
如果您已经image_id有价值,那么您UPDATE的桌子不应该INSERT。
您应该在将变量插入表之前对其进行转义。经过
mysql_real_escape_string()
尝试这个:
$subject = mysql_real_escape_string($_POST['subject']) ;
$id =mysql_real_escape_string($_POST['id'] ) ;
$classed = mysql_query("UPDATE images
SET subject = '".$subject."'
WHERE image_id='".$id."' ");
您不能INSERT在现有行中使用,尝试UPDATESQL 将类似于
UPDATE images SET subject = '...' WHERE id=x;