php - 修复简单的 PHP WordPress 用户显示名称脚本

标签 php mysql html wordpress

我有 PHP 脚本来显示 WordPress 数据库中的所有帖子。然后脚本获取作者的用户 ID 并在数据库的用户表中查询它以找出他们的显示名称。 但是,这目前仅适用于第一个结果。这是为什么?

<?

mysql_connect('localhost','username','password');
mysql_select_db('database');

$result=mysql_query("SELECT * FROM wp_posts WHERE post_type='post'");
while($row=mysql_fetch_array($result)){
echo'<p><h3>'.$row[post_title].'</h3><br>';

$user=mysql_query("SELECT * FROM wp_users WHERE ID='$row[post_author]'");
while($u=mysql_fetch_array($user)){
echo $u[display_name];
}
echo' </p>';
}

?>

最佳答案

你为什么不把你的查询改成

Select users.display_name, posts.post_title 
FROM wp_posts posts 
inner join wp_users users on posts.post_author = users.ID
where posts.post_type = 'post';

这将摆脱大量的数据库调用。除了第一个结果,什么对任何结果都不起作用?您确定您在 wp_posts 表中有超过 1 个帖子吗?

关于php - 修复简单的 PHP WordPress 用户显示名称脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609586/

相关文章:

html - CSS div 在另一个 div 中的位置

php - Facebook access_token 无效

php - MySQL INSERT 语句未执行

php - 如何通过php脚本调整图片大小

mysql - 将字符串添加到mysql结果

mysql - 将 SQL 更改部署到客户数据库(更改表、函数等)

html - 无效的 href URL

javascript - 如何在 URL 中使用 # 显示和隐藏一些 html 元素

php - Laravel 中 BelongsTo 和 HasOne 有什么区别

php - Laravel 5 模拟 PasswordBroker