我正在尝试将网站转换为使用$ wpdb功能,并且在我的生活中无法弄清楚如何实际创建一个我可以绑定并执行的预准备语句。 WP准备语句仅清理它实际准备附近实际上什么都不做的值。这似乎非常没有效果,只是愚蠢我错过了什么?有谁知道是否有办法从$ wpdb获取底层mysqli功能?
我尝试过没有太大成功:
$stmt = $wpdb->mysqli_prepare($wpdb, $sql);
希望使用“魔术方法”来获取mysqli的东西。有人有什么想法吗?
我最重要的是MySql Prepare和MySql Bind Param。例如:
/* create a prepared statement */
if ($stmt = $wpdb->prepare("SELECT District FROM City WHERE Name=?")) {
/*** Most Important what I am after ***/
$stmt->bind_param("s", $city);
/* execute query */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($district);
/* fetch value */
$stmt->fetch();
printf("%s is in district %s\n", $city, $district);
/* close statement */
$stmt->close();
}
我无法做到的是找出一种能够绑定变量的方法,因为WP实际上并没有创建一个mysqli预处理语句。使用这样的准备好的语句使我能够将所有更改/更新/删除基本上放入MySql服务器的一个读/写中,而不是对每个更改执行一个查询。如果我能从$ wpdb获得本机smtp对象,我可以做我需要的。