gpt4 book ai didi

mysql - Wordpress 中的多表查询不返回任何内容

转载 作者:行者123 更新时间:2023-11-29 13:41:43 25 4
gpt4 key购买 nike

我有一个常规的 wp_users 表和 sh_users 表。

wp_users 表是标准表:ID, user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_activation_key, user_status, display_name

sh_users 表有:id(自动递增)、user_id(与 wp_users ID 匹配)、user_photo (Varchar 255)、user_gender (varchar 255)

现在当我像这样查询时

$results = $wpdb->get_results( "
SELECT user_login, user_email, user_photo
FROM wp_users, sh_users
WHERE wp_users.ID = sh_users.user_id
");

...这是该查询的 var 转储:

string '
SELECT user_login, user_email, user_photo
FROM wp_users, sh_users
WHERE wp_users.ID = sh_users.user_id
' (length=109)

它什么也没返回...+没有生成任何错误...所以我只是问那里有什么问题???

------更新--------

这是 wp 用户的转储:

INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES 
(1, 'pete', 'xxxxxxx', 'pete', 'HIDDEN@gmail.com', '', '2013-07-02 16:42:04', '', 0, 'pete'),
(15, 'test', 'xxxxxx', 'test', 'HIDDEN@gmail.com', '', '2013-07-15 11:17:01', '', 0, 'test'),
(16, 'test1', 'xxxxx', 'test1', 'b.HIDDEN@gmail.com', '', '2013-07-15 20:05:32', '', 0, 'test1'),
(17, 'test5', 'xxxxxx', 'test5', 'HIDDEN.pe@gmail.com', '', '2013-07-16 09:48:57', '', 0, 'test5'),
(23, 'ban', 'xxxxx', 'ban', 'HIDDEN4@gmail.com', '', '2013-07-24 23:24:31', '', 0, 'bane'),
(24, 'ban2', 'xxxx', 'ban2', 'HIDDEN.HIDDEN@gmail.com', '', '2013-07-31 17:41:46', '', 0, 'ban2');

sh_users 的 Mysql 转储:

---- Dumping data for table `sh_users`--
INSERT INTO `sh_users` (`id`, `user_id`, `user_registered`, `user_active`, `user_location`, `user_gender`, `user_photo`, `user_meet`, `user_text`, `user_subscribed`) VALUES
(5, 15, '1373894222', 'Y', '', '', '17-profile.jpg', '', '', ''),
(6, 16, '1373925933', 'Y', '', '', '17-profile.jpg', '', '', ''),
(7, 17, '1373975337', 'Y', 'Midtjylland', 'Hende', '17-profile.jpg', 'Nej', '', 'Y'),
(13, 23, '1375298672', 'N', 'Midtjylland', 'Hende', '23-profile.jpg', 'Nej', '', 'Y'),
(14, 24, '1375299707', 'N', '', '', 'no-image.png', '', '', '');

最佳答案

您需要告诉查询从哪个表中选择结果 -

$results = $wpdb->get_results( "
SELECT wp_users.user_login, wp_users.user_email, sh_users.user_photo
FROM wp_users, sh_users
WHERE wp_users.ID = sh_users.user_id
");

这是假设您只需要 sh_users 表中的 user_photo,因此如果不正确,请进行更改。

此外,出于故障排除的目的,$wpdb 全局变量有几个有用的类变量。运行查询后,立即添加此代码 -

echo '<pre>Last query: '; print_r($wpdb->last_query); echo '</pre>';
echo '<pre>Last error: '; print_r($wpdb->last_error); echo '</pre>';
echo '<pre>Last result: '; print_r($wpdb->last_result); echo '</pre>';

如果 $wpdb->last_error 返回任何内容,希望它能帮助您查明问题。

关于mysql - Wordpress 中的多表查询不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17990325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com