MySQL / PHP - 无法更新数据库条目

时间:2014-09-16 19:52:59

标签: php mysql

目前我正试图为自己制作一个迷你博客/ cms类型的东西来测试我的技能,并希望用PHP学习一两件事。

所以我有一个里面有文本字段的表单。当它提交时,它应该运行以下查询,但是我收到以下错误...

  

资源ID#4   您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行'cms,description = hello world,maintenance = off,regsi'附近使用正确的语法

以下是该地区的代码......

mysql_query("UPDATE settings SET name = " . $siteName . ", description = " . $siteDesc . ", maintenance = " . $siteMode . " [...] ") or die($settings . "<br/>" . mysql_error());

我使用“[...]”缩短了它,因为它遵循相同的风格(即“test1 = $ test1,test2 = $ test2”等......)。

请帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您实际上不需要关闭并使用.(连接)运算符重新打开字符串

php字符串解析器会将变量插入到字符串中。

所以你可以这样做:

mysqli_query("UPDATE settings SET name = '$siteName', description = ...";

单引号告诉mysql将变量视为字符串文字而不是列名。

你应该做的事情(如果还没有)正在逃避你的用户输入变量,请参阅How can I prevent SQL injection in PHP?

你不应该做的是使用mysql*_函数,因为它们已被折旧。请参阅大红框here使用mysqli*_代替