这是我的完整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,因此它通过提取多个查询并逐一执行这些查询来处理这些查询。