我不明白为什么mysql_query($update)
没有在这里执行。所有代码对我来说都很好,var_dump'ing元素会产生预期值。 echo $passed_title;
正在执行而没有来自前一行的警告,如上所述,未执行(DB未更新)。为什么呢?
$ask_if_empty = "SELECT id FROM content WHERE id='{$passed_id}'";
$ask_if_empty2 = mysql_query($ask_if_empty) or die($error[25]);
if (mysql_num_rows($ask_if_empty2) !== 0)
{
$update = "UPDATE content SET title='{$passed_title}' WHERE id='{passed_id}'";
mysql_query($update) or die($error[25]);
echo $passed_title;
}
答案 0 :(得分:4)
您错过了$
:
$update = "UPDATE content SET title='{$passed_title}' WHERE id='{$passed_id}'";
我强烈建议在sql查询中使用它们之前转义字符串。您可以使用mysql_real_escape_string
执行此操作。否则你会接受sql注入攻击:
$passed_title = mysql_real_escape_string($passed_title);
如果$passed_id
是整数,则应使用intval()
$passed_id = intval($passed_id);
答案 1 :(得分:0)
如果id
列是INTEGER,您可能需要删除值id='{$passed_id}'
周围的单引号。