【发布时间】:2014-10-22 14:31:17
【问题描述】:
我有一个名为 prestashop 的数据库、一个表 ps_product 和一个字段 mq,即 tinyInt。
如果我在控制台上执行此查询,它会正确运行,编辑记录中字段的值:
USE prestashop UPDATE ps_product SET mq = 0 WHERE id_product = 1
如果我以编程方式 (php) 执行此查询:
mysql_query("USE prestashop
UPDATE ps_product
SET mq = 0
WHERE id_product = 1;")
or die("Query non valida: " . mysql_error());
这是错误:
查询无效:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“UPDATE ps_product SET mq = 0 WHERE id_product = 1”附近使用正确的语法
为什么? 在控制台中一切正常,它确实编辑了表格上的值
【问题讨论】:
-
checkout mysql_select_db 和 mysql_connect 并且因为你是新的跳转到 PDO
-
USE和SELECT是 2 个查询。您至少应该在它们之间有一个分隔符。你不会在mysql_query中使用这样的数据库。mysql_query也只支持一个查询。注意:从 PHP 5.5.0 开始,mysql 扩展名是 deprecated,将来会被删除。相反,应该使用MySQLi 或PDO_MySQL 扩展名。请不要使用mysql_*开发新代码。 -
阅读上面的cmets,不推荐使用mysql。请改用 mysqli。请注意,如果您使用分号,则必须在所有命令中使用它。
标签: mysql prestashop