【问题标题】:What does the mysqli_error() expects parameter 1 to be mysqli, null given mean?mysqli_error() 期望参数 1 为 mysqli,给定 null 是什么意思?
【发布时间】:2011-09-17 19:17:14
【问题描述】:

我有这个 PHP 页面:

<?php

//$_GET['invite'] = kNdqyJTjcf;

$code = mysqli_real_escape_string ($dbc, $_GET['invite']);

$q = "SELECT invite_id FROM signups_invited WHERE (code = '$code') LIMIT 1";
$r = mysqli_query ($dbc, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));

if (mysqli_num_rows($r) == 1) {
    echo 'Verified';
} else {
    echo 'That is not valid. Sorry.';
}

?>

这将返回错误Warning: mysqli_error() expects parameter 1 to be mysqli, null given

知道为什么吗?

【问题讨论】:

  • 什么是$dbc,它在哪里定义?
  • @宙斯之书和佩卡啊...谢谢。我很愚蠢。您应该填写一个答案,以便我将其标记为答案。

标签: php mysqli


【解决方案1】:

之前需要定义:$dbc

 $code = mysqli_real_escape_string ($dbc, $_GET['invite']);

例如:

$dbc = mysqli_connect("localhost", "my_user", "my_password", "world");

【讨论】:

    【解决方案2】:

    学习阅读错误消息并尝试找出可能导致错误消息的原因会很有帮助。 :)

    这会告诉您确切问题出在哪里,以及从哪里开始寻找。

    Warning: mysqli_error() expects parameter 1 to be mysqli, null given.
    

    该消息告诉您问题出在parameter 1 提供给mysqli_error,并且当mysqli_error 预期它是mysqli 时问题是null

    因此,查看您提供给mysqli_error 的第一个参数,您会看到它是$dbc。您现在知道问题是当调用mysqli_error()$dbc 为空。那么看看$dbc 是如何成为null 的。哦,对了 - 你没有声明它并给它分配任何东西,因为它在代码中的第一个位置是:

    $code = mysqli_real_escape_string ($dbc, $_GET['invite']);
    

    并且它被使用,就好像它已经不是null 一样。由于这是代码的开头,问题是您忘记通过连接到数据库来声明和初始化它。问题解决了。 :)

    【讨论】:

      【解决方案3】:

      mysqli_error($dbc) 中的未定义变量 $dbc。你需要把你的连接对象放在这里。

      【讨论】:

        【解决方案4】:

        也许您收到此错误是因为您需要这样做:

        global $mysqli;
        

        无论你在什么功能中。

        【讨论】:

          【解决方案5】:

          不要将mysql_connect();mysqli_connect(); 混淆

          尝试如下改变

          $conn = mysqli_connect("yourhost", "username", "password", "database-name");
          

          如果它已连接,则通过您的查询

          mysqli_query($conn, "your query string");
          

          现在可以正常使用了!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-09-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多