Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP&;MySQL:mysqli_num_rows()期望参数1是mysqli_结果,给定布尔值_Php_Mysql - Fatal编程技术网

PHP&;MySQL:mysqli_num_rows()期望参数1是mysqli_结果,给定布尔值

PHP&;MySQL:mysqli_num_rows()期望参数1是mysqli_结果,给定布尔值,php,mysql,Php,Mysql,我试图集成HTML净化器来过滤我的用户提交的数据,但我得到以下错误。我想知道如何解决这个问题 我得到以下错误 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.

我试图集成HTML净化器来过滤我的用户提交的数据,但我得到以下错误。我想知道如何解决这个问题

我得到以下错误

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;
}

}
if(isset($\u POST['submitted']){//处理表单。
require_once'../htmlpurifier/library/htmlpurifier.auto.php';
$config=HTMLPurifier_config::createDefault();
$config->set('Core.Encoding','UTF-8');//替换为您的编码
$config->set('HTML.Doctype','XHTML 1.0 Strict');//替换为Doctype
$punizer=新的HTMLPurifier($config);
$mysqli=mysqli_connect(“本地主机”、“根目录”、“站点名称”);
$dbc=mysqli\u查询($mysqli,“选择用户。*”,配置文件*
来自用户
联系人信息上的内部加入联系人信息。用户id=用户。用户id
其中users.user_id=3”);
$about_me=mysqli_real_escape_字符串($mysqli,$purizer->purify($_POST['about_me']));
$interests=mysqli\u real\u escape\u字符串($mysqli,$purizer->purify($\u POST['interests']);
if(mysqli_num_行($dbc)==0){
$mysqli=mysqli_connect(“本地主机”、“根目录”、“站点名称”);
$dbc=mysqli\u查询($mysqli,“插入到配置文件中(用户标识、关于我、兴趣)
值(“$user\u id”、“$about\u me”、“$interests”);
}
如果($dbc==TRUE){
$dbc=mysqli\u查询($mysqli,“更新配置文件
设置关于我=“$关于我”,兴趣=“$兴趣”
其中user_id=“$user_id”);
回显“

您的更改已保存!

”; } 如果(!$dbc){ //有一个错误…在这里做点什么。。。 打印mysqli_错误($mysqli); 返回; } }
查询要么没有返回行,要么是错误,因此返回
FALSE
。换成

if (!$dbc || mysqli_num_rows($dbc) == 0)
mysqli\u num\u行数

返回值

成功时返回TRUE,成功时返回FALSE 失败。用于选择、显示、描述或 EXPLAIN mysqli_query()将返回一个 结果对象


$dbc
返回false。您的查询中有一个错误:

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");

Ravelen已经描述了一般的修复方法。

短语“您的查询有错误”帮了我的忙。谢谢如果没有返回行,则查询将成功(0条记录不会使mysqli\u查询或mysqli\u num\u行返回false)。