0

我根本无法理解这个。

我正在编写一个简单的 PHP 脚本来更新特定的数据库字段。

此查询工作正常,完全没有问题,但是 setting_id 似乎很容易改变,因此不适合/便携

mysql_query("UPDATE oc_setting SET value='" . $css . "'" . 'WHERE setting_id=13576',    $con) or die(mysql_error());

这个查询似乎在任何情况下都不起作用,这是我需要的查询。

mysql_query("UPDATE oc_setting SET value='" . $css . "'" . 'WHERE key="sellya_custom_css"', $con) or die(mysql_error());

它给我留下了这个错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'key="sellya_custom_css"' 附近使用正确的语法

现在我有一种预感,它可能与单词 key 相关,可能是保留关键字或其他东西,所以我尝试将它用引号括起来,虽然脚本没有出现任何错误,但它也没有更新该字段。

我尝试了无数的单引号双引号组合,各种串联组合都无济于事。

有人可以帮我吗?

谢谢你。

4

2 回答 2

5

KEY是mysql中的保留字

最好放在 KEY里面``倒勾。

来源(链接

于 2013-04-08T04:29:50.840 回答
2

请不要mysql_*在新代码中使用 函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用

现在,对于这个问题:

"UPDATE oc_setting SET value='" . $css . "'" . 'WHERE key="sellya_custom_css"'

在此查询字符串中,您在WHERE. 将其更改为:

"UPDATE oc_setting SET value='" . $css . "'" . ' WHERE `key`="sellya_custom_css"'

key也需要在查询中转义。

于 2013-04-08T04:29:01.480 回答