当前位置: 首页 > 面试题库 >

PHP和MySQL:mysqli_num_rows()期望参数1为mysqli_result,给定布尔值[重复]

谭畅
2023-03-14
问题内容

这个问题已经在这里有了答案

mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误? (1个答案)

5年前关闭。

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

我收到以下错误。

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返回假。您的查询中有一个错误:

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已描述了一般的解决方法。



 类似资料:
  • 问题内容: 我对PHP和MySQL还是很陌生,但是我无法弄清楚这一点。我在论坛周围搜索了所有内容,但没有找到我能理解的答案。我最初使用的是mysql_fetch_assoc(),但我只能搜索数字,并且在搜索字母时也收到错误。我希望我在正确的轨道上。预先感谢您的所有帮助! 问题答案: 当您的结果不是结果(而是“ false”)时,就会发生这种情况。您应该更改此行 对此: 因为“可以解释$变量,而’不

  • 问题内容: 这个问题已经在这里有了答案 : mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误? (1个答案) 7年前关闭。 我在检查数据库中是否已存在Facebook User_id时遇到了一些麻烦(如果不存在,则应将用户作为新用户接受,否则仅加载canvas应用程序)。我在托管服务器上运行了它,没有问题,但是在我的本地

  • 为什么我会收到此错误消息: 警告:mysqli_free_result()期望参数1mysqli_result,给出布尔值 我的代码是:

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: PHP:警告:sort()期望参数1为数组,给定资源 我的PHP函数脚本昨晚工作正常,现在当我今天登录进行更多工作时, “警告:mysql_result()期望参数1为资源,给定布尔值”。 我不知道为什么这不起作用。我已经在线阅读了PHP手册,甚至还看到了使用和使用我所做的示例。谁能帮我这个忙吗?我一直在修正错误(一个错误,一个

  • 问题内容: 每当我运行此命令时,我都会收到此错误: 编码: 问题答案: 那是因为mysql_query有时返回布尔值false(查询错误)。您需要检查一下: 上面的代码写得不好,不推荐使用。在实际项目中使用带有异常的PDO。

  • 问题内容: 我正在尝试从MySQL表中选择数据,但收到以下错误消息之一: mysql_fetch_array()期望参数1为资源,给定布尔值 这是我的代码: 问题答案: 查询可能由于各种原因而失败,在这种情况下,mysql_ *和mysqli扩展名都将从它们各自的查询函数/方法中返回。您需要测试该错误情况并进行相应处理。 mysql_ *扩展名 : 注: 该mysql_功能已被弃用,并在PHP版本