【问题标题】:$wpdb error cant fix$wpdb 错误无法修复
【发布时间】:2016-08-02 23:34:39
【问题描述】:

我创建了自定义插件,我有表 wp_customers,我尝试选择表中的所有内容,但 wordpress 只显示致命错误:未捕获的错误:在 C:\xampp\htdocs 中调用成员函数 get_results() on null \wordpress\wordpress\wp-content\plugins\rflredirection\public\showResult.php:4 堆栈跟踪:#0 {main} 在 C:\xampp\htdocs\wordpress\wordpress\wp-content\plugins\rflredirection\public 中抛出\showResult.php 在第 4 行

我看到了 codex,我使用一些其他代码进行选择,但我只是那个 massege,这是我要尝试的代码

global $wpdb;

$results = $wpdb->get_results('SELECT * FROM $wpd->wp_customers DESC ');

$results = $wpdb->get_results('SELECT * FROM wp_customers');

$table_name = $wpdb->prefix . "wp_customers";
$results = $wpdb->get_results("SELECT code FROM ".$table_name");

我尝试获取版本,但什么也没有

$dbVersion = $wpdb->db_version();
if ($dbVersion) {
    echo "Running MySQL " . $dbVersion;
} else {
    echo "MySQL version unavailable.";
}

【问题讨论】:

  • $results = $wpdb->get_results('SELECT * FROM $wpdb->wp_customers DESC ');检查你和我的语法。 $wpdb 写入不正确。
  • 我在这里输入错误,伙计,我再次更改,但在 null 上调用成员函数 get_results()

标签: select wordpress


【解决方案1】:

当您使用wpdb 类时,无需在表名中包含wp_

应该是这样的:

global $wpdb;
$results = $wpdb->get_results("SELECT * FROM $wpdb->customers");
//                                                  ^ use without (wp_)

编辑#1:

foreach 循环出现错误:

你应该写foreach($results as $rows)而不是你的错误:foreach($rows as $results)

在获取值时不要忘记分号,echo $rows["id"]; 等等..

你的代码应该是这样的:

<?php
 global $wpdb;
 $results = $wpdb->get_results("SELECT * FROM $wpdb->customers");
?>
<body>
 <table> 
    <tr> 
        <th>‌ID</th>
         <th>Name</th> 
         <th>Family</th>
          <th>Numbers</th> 
          <th>Tell</th> 
      </tr>
       <?php foreach($results as $rows){
        ?> 
        <tr> 
            <td>
                <?php echo $rows["id"]; ?>
            </td> 
            <td>
                <?php echo $rows["name"]; ?>
            </td> 
            <td>
                <?php echo $rows["family"]; ?>
            </td> 
            <td>
                <?php echo $rows["numbers"]; ?>
            </td> 
            <td>
                <?php echo $rows["tell"]; ?>
            </td>
             <?php }?> 
         </tr>
</table>

编辑#2:

复制所有此行并粘贴到您的页面顶部以包含 wordpress 包:

<?php
/**
 * WordPress User Page
 *
 * Handles authentication, registering, resetting passwords, forgot password,
 * and other user handling.
 *
 * @package WordPress
 */

// Make sure that the WordPress bootstrap has run before continuing.
require( dirname(__FILE__) . '/wp-load.php' );

// Now your page codes goes here ...

【讨论】:

  • 不只是:在 null 上调用成员函数 get_results()
  • 这是完整的代码:get_results("SELECT * FROM $wpdb->customers"); ?> td>
    ‌ID 姓名 家庭 数字 告诉
  • 我使用这个代码 var_dump(isset($wpdb));并给我发回 bool(false) 有帮助吗?
  • 我使用它我的朋友和我有调用成员函数 get_results() 并且它在第 3 行显示错误
  • 它在主页上工作,但是当我在其他页面中编写代码,并制作按钮单击并用户转到该页面查看结果时,我给出了该错误
猜你喜欢
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 2015-06-01
  • 2012-10-01
  • 2011-02-27
  • 1970-01-01
相关资源
最近更新 更多