0

这是我在实际查询之前正在回显的完整 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 another 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 可以很好地运行它?

4

1 回答 1

2

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

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

于 2013-07-05T10:56:22.150 回答