【问题标题】:mysqli_real_escape_string() expects exactly 2 parameters, 1 givenmysqli_real_escape_string() 需要 2 个参数,1 个给定
【发布时间】:2011-12-06 07:13:25
【问题描述】:
if (phpversion() >= '4.3.0'){
    $string = mysqli_real_escape_string($string);
}else{
    $string = mysqli_escape_string($string);
}

mysqli_real_escape_string 的所有文档似乎都表明这是一段有效的代码,但我不明白为什么会出现此错误:

mysqli_real_escape_string() 只需要 2 个参数,给定 1 个

【问题讨论】:

标签: php mysqli


【解决方案1】:

Documentation 说需要两个参数:

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

第一个是mysqli实例的链接,第二个是要转义的字符串。

【讨论】:

    【解决方案2】:

    mysqli_real_escape_string(DBconnection, __dat__a); mysqli_real_escape_string 需要 db 连接变量

    【讨论】:

      【解决方案3】:
      $con = new mysqli("localhost", "root", "your_password", "your_database_name");
      $data = json_decode(file_get_contents("php://input"));
      $empno = mysqli_real_escape_string($con, $data->empno);//this will do your work
      

      【讨论】:

        【解决方案4】:

        让我补充一点额外的信息: 如果您使用的是 NetBeans,它的文档实际上显示了 mysqli_real_escape_string 函数如下:

        mysqli_real_escape_string (PHP 5)
            Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
        
        Parameters:
        
            string $escapestr
                'The string to be escaped.'
        
        Returns:
        
            Type:
            string
        
        Description:
            an escaped string.
        

        但是,如其他答案所示,这是错误的。它需要 $link 和 $string。

        【讨论】:

        • 你知道我该怎么做才能让netbeans自动完成功能显示mysqli_real_escape_string($link, $escapestr)而不是mysqli_real_escape_string($escapestr)吗?
        • 关闭 Netbeans。转到:<Netbeans Install Path>\php\phpstubs\phpruntime 并编辑文件mysqli.php,按CTRL+F 并搜索mysqli_real_escape_string。在$escapestr 之前添加$link 参数并在上面的注释部分中,在* @param string $escapestr <p> 之前的行中添加* @param mysqli $link。打开 Netbeans 并对其进行测试。
        • 注意:您可能需要在具有管理员权限的编辑器中打开该文件,或者将其复制到桌面,在那里进行编辑并将其复制/替换回原始文件夹中。
        • 4 年后,netbeans 文档仍然有问题。
        【解决方案5】:

        以下是使用它的正确格式:

        string mysqli_real_escape_string ( mysqli $link , string $escapestr )
        

        第一个参数是mysql连接链接标识符,第二个是字符串 欲了解更多详情,您可以访问此链接:http://in2.php.net/manual/en/mysqli.real-escape-string.php

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-10-27
          • 1970-01-01
          • 1970-01-01
          • 2012-03-04
          • 2011-12-25
          相关资源
          最近更新 更多