繁体   English   中英

Wordpress 中的 Mysqli 查询

[英]Mysqli Query In Wordpress

不知道你能不能帮我解决这个问题。 WordPress 3.92 中的最新 PHP。 WordPress 正在使用 MySqli。 我正在尝试将我的自定义 MYSQL 更改为 MYSQLI,这应该真的很简单,但是却抛出了很多问题。

下面是2个例子。 示例 1 是在函数内使用 WordPress 内置的 MYSQLI 连接,而下面的连接是我自己的。 第一个抛出错误,如图所示,但我自己的没有。

function name{
global $wpdb;
$options = array();
$res=mysqli_query($wpdb,"select ID,County from counties ORDER BY County ASC");
$value="";
$label="Please select a county";
$options[] = array('label' => $label, 'value' => $value);
    while($row=mysqli_fetch_array($res)) {
    $sC=$row['ID'];
    $res1=mysqli_query($wpdb,"select County from wedding_shows where County='$sC'");
        if (mysqli_num_rows($res1) == 0) {
        } else {
        $options[] = array('label' => $row['County'], 'value' => $row['ID']);
        }
    }
}

这是我得到的错误

警告:mysqli_query() 期望参数 1 是 mysqli,对象在第 3 行给出了 eval() 的代码

警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,第 4 行给定 eval() 的代码为 null

这是它与我自己的连接一起工作并且没有错误。

function name(
$dbhost1 = 'localhost';
$dbuser1 = 'user';
$dbpass1 = 'pass';
$dbname1 = 'DBName';
$conn=mysqli_connect("localhost","$dbuser1","$dbpass1","$dbname1");
$options = array();
$res=mysqli_query($conn,"select ID,County from counties ORDER BY County ASC");
$value="";
$label="Please select a county";
$options[] = array('label' => $label, 'value' => $value);
    while($row=mysqli_fetch_array($res)) {
    $sC=$row['ID'];
    $res1=mysqli_query($conn,"select County from wedding_shows where County='$sC'");
        if (mysqli_num_rows($res1) == 0) {
        } else {
        $options[] = array('label' => $row['County'], 'value' => $row['ID']);
        }
             }
}

我必须努力寻找,因为我不明白为什么这在第一个实例中不起作用,以节省必须在每个函数中创建一个新连接。

非常感谢P

mysqli_query的第一个参数应该是一个连接字符串。 $wpdb不是连接字符串,它是 wordpress 数据库对象。 话虽如此,你可以只做$wpdb->get_results("select ID,County from counties ORDER BY County ASC"); 相反,鉴于查询是正确的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM