【问题标题】:Mysql: UPDATE, SET & WHERE errorMysql:UPDATE、SET & WHERE 错误
【发布时间】: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
  • USESELECT 是 2 个查询。您至少应该在它们之间有一个分隔符。你不会在mysql_query 中使用这样的数据库。 mysql_query 也只支持一个查询。注意:从 PHP 5.5.0 开始,mysql 扩展名是 deprecated,将来会被删除。相反,应该使用MySQLiPDO_MySQL 扩展名。请不要使用mysql_* 开发新代码。
  • 阅读上面的cmets,不推荐使用mysql。请改用 mysqli。请注意,如果您使用分号,则必须在所有命令中使用它。

标签: mysql prestashop


【解决方案1】:

要在 prestashop 中更新产品详细信息,您应该这样编写查询:

$sql = 'UPDATE '._DB_PREFIX_.'product SET mq=0 WHERE id_product=1';
if (!Db::getInstance()->execute($sql))
    die('error!');

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2021-10-27
    • 2021-07-31
    • 1970-01-01
    • 2023-03-24
    • 2013-02-08
    • 2020-10-06
    • 2013-07-15
    • 2016-11-14
    • 2016-12-26
    相关资源
    最近更新 更多