【问题标题】:how to connect and display data from wordpress database如何连接和显示来自 wordpress 数据库的数据
【发布时间】:2019-09-25 19:50:15
【问题描述】:

更新

我尝试使用此脚本,但似乎无法正常工作。有人可以提供一个简单的工作示例来说明如何连接到数据库、检索数据并打印出来吗?

脚本打印出数据库连接工作,并打印出 id,但我无法让 mysqli_fetch_array 工作,并且在连接关闭后不会打印出数据库已关闭

<?php
require( 'wp-load.php' );
$local = 'xxxxxxx';
$user  = 'xxxxxxx';
$pass  = 'xxxxxxx';
$data  = 'xxxxxxx';

$testConnection  = mysqli_connect($local,$user,$pass, $data); 

if (!$testConnection) {
die('Error: ' . mysqli_connect_errno() . PHP_EOL);
}
echo 'Database connection working!';


global $wpdb;
$result = $wpdb->get_results ("SELECT *  FROM  $wpdb->options" );

foreach ( $result as $row ){
   echo $row->option_id .'<br/>';       
}

$row=array();
$row=mysqli_fetch_array($result,MYSQLI_NUM);
print_r($row);


// Associative array
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("%s (%s)\n",$row["option_id"],$row["option_name"]);

mysqli_close($testConnection);

 if (!$testConnection) {
    echo "database closed";
 }

?>

【问题讨论】:

    标签: php wordpress database-connection


    【解决方案1】:

    好的,我重新阅读了您的代码。您似乎只想从表options 中读取所有选项的option_idoption_name。由于$wpdb 已经为您处理了所有连接,因此您不需要mysqli_connect

    以下代码应该适合您。我在我的 WordPress 博客上对其进行了测试,它确实有效。

    <?php
    require( 'wp-load.php' );
    
    global $wpdb;
    $result = $wpdb->get_results ("SELECT *  FROM  $wpdb->options" );
    
    foreach ( $result as $row ){
      printf ("%s (%s)<br />", $row->option_id, $row->option_name);
    }
    

    这是我的结果的屏幕截图。


    旧答案:

    基于 WordPress 文档 here$wpdb 是 /wp-includes/wp-db.php 中定义的 wpdb 类的实例化。要使用它,您需要通过将以下代码放在代码前面来加载 WordPress 的核心功能:

    require( 'wp-load.php' );
    

    【讨论】:

    • 什么都不做
    • @DCR 我更改了答案并在我的服务器上测试了我的代码。它现在应该可以工作了。让我知道它是否适合您。
    • @iLtc 这是正确的答案。我赞成它,但不幸的是,它只会取消某人给你的不应有的反对票。我只是想让你知道你做得很好。
    猜你喜欢
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    相关资源
    最近更新 更多