wpdb
是围绕mysql_*
功能,但不能混用。$wpdb->query
does not 返回mysql_fetch_row
需要。信息技术
。。。返回与受影响/选定的行数相对应的整数。如果出现MySQL错误,函数将返回FALSE。(注意:由于0和FALSE都可以返回,请确保使用正确的比较运算符:相等==vs.等同==)。
You have but to read the Codex.
所以$wpdb->query
真正适用于不返回数据的查询,如删除。
您想要的是:
$new = $wpdb->get_results("select * from wp_posts where post_title=\'Auto Draft\'");
你想要的
prepare
如果您使用的是用户提供的数据,也是如此。
$new = $wpdb->get_results($wpdb->prepare("select * from wp_posts where post_title=%s",$str));
将返回
object
, 但您可以传递第二个参数来获取
array
. 您可以使用普通的PHP对象/数组操作来迭代该对象或数组。
还有$wpdb->get_var
和$wpdb->get_col
.
与任何其他PHP/MySQL应用程序一样,该数据库保存动态内容——帖子、页面、可配置选项、类别表等。它不是一个容易枚举的列表。
至于评论中的问题,“我们最可能需要使用哪种情况”不知道。取决于你在做什么。这并不是真正的问题,但我想说的是,在大多数情况下,您不需要也不应该编写SQL来操作数据库。这有许多核心功能——WP_Query
, WP_User_Query
, set_option
, update_post_meta
, wp_update_post
, 继续大约20多条线路。