PHP &MySQL:mysqli_num_rows() 期望参数 1 是 mysqli_result,给定布尔值 [英] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given

查看:21
本文介绍了PHP &MySQL:mysqli_num_rows() 期望参数 1 是 mysqli_result,给定布尔值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试集成 HTML Purifier http://htmlpurifier.org/ 来过滤我的用户提交的数据,但是我在下面收到以下错误.我想知道如何解决这个问题?

I'm trying to Integrate HTML Purifier http://htmlpurifier.org/ to filter my user submitted data but I get the following error below. And I was wondering how can I fix this problem?

我收到以下错误.

on line 22: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given 

第 22 行是.

if (mysqli_num_rows($dbc) == 0) {

这是php代码.

if (isset($_POST['submitted'])) { // Handle the form.

    require_once '../../htmlpurifier/library/HTMLPurifier.auto.php';

    $config = HTMLPurifier_Config::createDefault();
    $config->set('Core.Encoding', 'UTF-8'); // replace with your encoding
    $config->set('HTML.Doctype', 'XHTML 1.0 Strict'); // replace with your doctype
    $purifier = new HTMLPurifier($config);


    $mysqli = mysqli_connect("localhost", "root", "", "sitename");
    $dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN contact_info ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

    $about_me = mysqli_real_escape_string($mysqli, $purifier->purify($_POST['about_me']));
    $interests = mysqli_real_escape_string($mysqli, $purifier->purify($_POST['interests']));



if (mysqli_num_rows($dbc) == 0) {
        $mysqli = mysqli_connect("localhost", "root", "", "sitename");
        $dbc = mysqli_query($mysqli,"INSERT INTO profile (user_id, about_me, interests) 
                                     VALUES ('$user_id', '$about_me', '$interests')");
}



if ($dbc == TRUE) {
        $dbc = mysqli_query($mysqli,"UPDATE profile 
                                     SET about_me = '$about_me', interests = '$interests' 
                                     WHERE user_id = '$user_id'");

        echo '<p class="changes-saved">Your changes have been saved!</p>';
}


if (!$dbc) {
        // There was an error...do something about it here...
        print mysqli_error($mysqli);
        return;
}

}

推荐答案

$dbc 返回 false.您的查询中有错误:

$dbc is returning false. Your query has an error in it:

SELECT users.*, profile.* --You do not join with profile anywhere.
                                 FROM users 
                                 INNER JOIN contact_info 
                                 ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");

一般来说,Raveren 已经描述了对此的修复.

The fix for this in general has been described by Raveren.

这篇关于PHP &amp;MySQL:mysqli_num_rows() 期望参数 1 是 mysqli_result,给定布尔值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆