如何在 wordpress 中运行 mysql 查询?

Posted

技术标签:

【中文标题】如何在 wordpress 中运行 mysql 查询?【英文标题】:How do I run a mysql query in wordpress? 【发布时间】:2013-12-09 17:54:11 【问题描述】:

此查询有效并返回我想要在 mysql 中的结果,但我如何让它在 wordpress 中工作?

SELECT * FROM `wp_usermeta` WHERE `meta_key` = 'points' AND `user_id` = '1'

我希望能够查看用户 1 获得的所有“积分”。我需要能够在 wordpress 的帖子和页面上显示这一点。

【问题讨论】:

【参考方案1】:
global $wpdb;    
$result = $wpdb->get_results( "SELECT * FROM wp_usermeta WHERE meta_key = 'points' AND user_id = '1'");
print_r($result);

阅读this。

【讨论】:

那篇文章谈到了制作插件。我不想制作一个插件,只是添加一些代码行,使结果出现在页面或帖子上。我使用插件 Allow php in Post and Pages 将 php 查询代码添加到其中。还有其他/更简单的方法吗? 您可以尝试在查询代码前添加global $wpdb;。它需要帮助,但我没有尝试。我更新了代码。 当我将上面的代码输入到“添加 php 插件”中时,页面上显示的内容: Array ( [0] => stdClass Object ( [umeta_id] => 38 [user_id] = > 1 [meta_key] => 点 [meta_value] => 1 ) [1] => stdClass 对象 ( [umeta_id] => 39 [user_id] => 1 [meta_key] => 点 [meta_value] => 100 ) [2 ] => stdClass 对象 ( [umeta_id] => 40 [user_id] => 1 [meta_key] => 点 [meta_value] => 66 ) [3] => stdClass 对象 ( [umeta_id] => 41 [user_id] => 1 [meta_key] => 点 [meta_value] => 32 ) 等等... 我希望能够将所有值相加。我猜我使用 Select SUM * From... 当我这样做时,我只得到:我的页面上的数组() 好的,我已经很接近了。我用过:全局 $wpdb; $result = $wpdb->get_results("SELECT SUM(meta_value) FROM wp_usermeta WHERE meta_key = 'points' AND user_id = '1'"); print_r($结果);并得到: Array ( [0] => stdClass Object ( [SUM(meta_value)] => 615 ) ) 我只想要数字 615。我怎样才能搭上那条线上的其他东西。【参考方案2】:

使用以下代码.....

$q="SELECT * FROM wp_usermeta WHERE meta_key = 'points' AND user_id = '1'";
$result = $wpdb->get_results($q);

它将返回数组作为结果。

【讨论】:

我什至可以在哪里输入这个?我有一个名为“Allow PHP in Post and Pages”的插件,我在那里尝试了代码。这是它给我的错误:致命错误:在/homepages/8/d195441424/htdocs/test/wp-content/plugins/allow-php-in-posts-中的非对象上调用成员函数get_results() and-pages/allowphp.php(373) : eval()'d 代码在第 2 行 我不确定这是什么意思。

以上是关于如何在 wordpress 中运行 mysql 查询?的主要内容,如果未能解决你的问题,请参考以下文章

您的PHP似乎没有安装运行WordPress所必需的MySQL扩展?

您的 PHP 似乎没有安装运行 WordPress 必须的 MySQL 拓展。

如何使用 WordPress API 在 PHP 中获取 MySQL 表的列的最大值

“如何在本地运行已经创建好的 WordPress 网站”?

如何搭建本地wordpress

wordpress:如何在数据库中默认插入默认类别“未分类”