使用$ wpdb在wordpress中的LOCK TABLES

时间:2013-11-16 09:35:54

标签: php mysql wordpress

我正在尝试在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脚本吗?

1 个答案:

答案 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的原因,但大部分都不是必需的。