如何从数据库WordPress中获取记录

时间:2013-12-03 作者:Tushar Sharma

index.php:

 <?php $new=$wpdb->query("select * from wp_posts where post_title=\'Auto Draft\'");
 $new1=mysql_fetch_row($new);
 echo $new1[0];
 ?>
如何从数据库中提取记录
数据库如何处理WordPress文件?

1 个回复
SO网友:s_ha_dum

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多条线路。

结束

相关推荐

Database for development

虽然构建插件,但我最大的烦恼之一是我的开发机器与实际安装不匹配。我这里的意思是,我的数据库缺乏。我会编写一些代码,认为它可以工作(因为它在开发过程中工作),然后发现它不能工作,因为我忽略了本地数据库中缺少的一个小细节。即使是我自己的在线安装也不包含完整的数据库。是否有一套预先填写了通常WP内容的db?甚至是自动添加行和列的脚本?我正在寻找不同角色、自定义帖子类型、分类法、评论等的用户,这些用户只能出于开发目的访问?如果没有,是否有人有一个旧站点的备份,他们想共享?