我正在尝试在wordpress上运行以下代码
$sql ="LOCK TABLES some_table LOW_PRIORITY WRITE;"."\n";
$sql .=" CALL some_stored_pro('somevalue');"."\n";
$sql .=" UNLOCK TABLES;"."\n";
$wpdb->query($sql);
我收到以下错误 “您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'CALL get_one_us_city('aa')附近使用正确的语法; UNLOCK TABLES'在第2行“
当我修改上面的查询以便它只运行时 CALL“some_stored_pro('somevalue');” 它完美地运作
我的问题:我们可以使用$ wpdb对象运行LOCK TABLES脚本吗?
答案 0 :(得分:1)
每个$ wp-> query()只能执行1个查询。将SQL分成3个查询并逐个调用它们:
$queries = array(
"LOCK TABLES some_table LOW_PRIORITY WRITE",
"CALL some_stored_pro('somevalue')",
"UNLOCK TABLES"
);
foreach($queries as $query) {
$wpdb->query($query);
}
但是,我不知道你打电话给LOCK TABLES
的原因,但大部分都不是必需的。