mysql - echo mysql select 语句与 wpdb 显示无结果

标签 mysql wordpress phpmyadmin

我希望我的插件中的此函数在调用时返回数据。我现在只是想得到任何结果。它曾经是一个更具体的查询。

function ml_results() {
global $wpdb;
$results = $wpdb->get_results( 'SELECT * FROM wp_ml_char', OBJECT );
echo "<p>Your character's info {$results}</p>";
}

add_shortcode('ml_return', 'ml_results');

我没有运气返回并显示任何输出类型的任何内容。我也尝试过打印而不是回显。我还在 phpmyadmin 中测试了我的查询,效果很好。我得到的只是“ARRAY”。因此,$results 返回“你的角色的信息数组”。 Var_dump 也可以正常工作,但这并不是我希望显示数据的具体方式。所以我相信问题出在 WordPress 代码上,但我只是不确定代码到底是哪一部分。

最佳答案

您的结果以数组形式返回,这就是为什么它们不能作为字符串打印出来。实际上,您已经设置了标志 OBJECT,并且结果作为对象返回,其中包含 wp_ml_char 表中所有记录的字段值。 你应该尝试这样的事情:

function ml_results() {
global $wpdb;
$results = $wpdb->get_results( 'SELECT * FROM wp_ml_char', OBJECT );
$output = '';
foreach($results as $item){
//and then for each field in wp_ml_char table you want to set in output should append to $output var: 
$output.= $item->field_name . " ";  // field_name should be changed to name of actual field in wp_ml_char table

}
echo "<p>Your character's info {$output}</p>";

}

add_shortcode('ml_return', 'ml_results');

困扰我的另一件事是实际的 MySQL 语句,您没有定义更精确的条件,而您现在拥有的这个查询将返回 wp_ml_char 表中的所有结果,因此您还应该添加一些条件并且可能有一些限制和抵消。

关于mysql - echo mysql select 语句与 wpdb 显示无结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40441019/

相关文章:

phpmyadmin - 列未显示在 phpmyadmin 的“结构”选项卡下

Wordpress 联系表 7 自定义短代码

php - 将 30,000 篇文章上传到 Wordpress 而不会导致 XML-RPC 崩溃

php - 如何使用 laravel 4. for windows 文件系统导出 mysql 数据库

php - 如何将 MySQL BLOB 转换为 PHP 短裤数组?

php - SQL - 哪里像语句

MySQL 存储过程仅返回 Select 语句的第一行

mysql - 如何在 MySQL 中截取字符串的一部分?

wordpress - 从 Wordpress 管理员中删除事件提要

mysql - pma_history创建错误