WordPress SQL语法错误,在phpMyAdmin中运行良好


WordPress SQL syntax error, works fine in phpMyAdmin

这是我的完整SQL查询(名为$query的变量),我在实际查询之前回显:

UPDATE wp_portfolio_items SET caption='This is a caption',item_order=1,image='20130705104136Layer-651.jpg' WHERE id=1; UPDATE wp_portfolio_items SET caption='This is another caption',item_order=2,image='20130705104137photo.JPG' WHERE id=2; 

如果我复制该查询并在phpMyAdmin的SQL选项卡中运行它,它会运行良好并更新这两行。然而,当在WordPress中查询时,会出现以下WordPress错误:

WordPress数据库错误:[您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,在第1行的"UPDATE wp_portfolio_items SET caption='This is other caption',item_order=2,ima'"附近找到正确的语法]UPDATE wp_portfolio_items SET caption='This is a caption',item_order=1,image='20130705104136Layer-651.jpg' WHERE id=1; UPDATE wp_portfolio_items SET caption='This is another caption',item_order=2,image='20130705104137photo.JPG' WHERE id=2;

我怀疑这是否有必要包括在内,但无论如何我都会这样做。这是我运行查询的代码:

    if ($query != "") {
        echo $query . "<br><br>";
        $wpdb->show_errors();
        $wpdb->query($query);
        exit;
    }

你知道为什么WordPress会对这个查询有问题,但phpMyAdmin可以很好地运行它吗?

您不能在一条语句中运行多个查询。

phpMyAdmin解析您输入的SQL,因此它通过提取多个查询并逐一执行这些查询来处理这些查询。