我试图让用户在图像中插入主题。我知道我不能将 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
在现有行中使用,尝试UPDATE
SQL 将类似于
UPDATE images SET subject = '...' WHERE id=x;