:mysqli_real_escape_string()期望参数1为mysqli,

时间:2014-06-07 19:50:36

标签: php mysqli

在我之前的问题中我已经解决了它,我只是把它放在mysqli_error()`$ this->连接

我试图重新编程这些部分,但仍然无法修复它。 错误信息。 :mysqli_real_escape_string()期望参数1为mysqli,

public function mysql_prep( $value ) {
    $magic_quotes_active = get_magic_quotes_gpc();
    $new_enough_php = function_exists( "mysql_real_escape_string" ); // i.e. PHP >= v4.3.0
    if( $new_enough_php ) { // PHP v4.3.0 or higher
        // undo any magic quote effects so mysql_real_escape_string can do the work
        if( $magic_quotes_active ) { $value = stripslashes($value); }
        $value = mysqli_real_escape_string( $value);
    } else { // before PHP v4.3.0
        // if magic quotes aren't already on then add slashes manually
        if( !$magic_quotes_active ) { $value = addslashes( $value ); }
        // if magic quotes are active, then the slashes already exist
    }
    return $value;
}

2 个答案:

答案 0 :(得分:0)

让我们一步一步:)

  1. $this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS);您可以直接使用值而不是定义的值来编写吗?像这样$this->connection = mysqli_connect("localhost", "root", "123456");

  2. 在下面运行查询而不是确认连接是否已打开,假设您有表名“user”然后写一个简单的选择查询$res=mysql_query("SELECT * FROM user",$this->connection) or die(mysql_error());

  3. 希望得到了我试图传达的东西......并希望它有所帮助

    THX

答案 1 :(得分:0)

正确执行错误检测和报告后,您应该了解有关失败原因的更多信息。

这是一个在显示错误时应该更成功的示例函数:

public function open_connection() {
    // CREATE DATABASE CONNECTION 
    $this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS);
    if (mysqli_connect_error()) { 
        die("Database Connection Failed:".mysqli_connect_error()); 
    }
    // SELECT A DATABASE TO USE.
    if (!mysqli_select_db($this->connection, DB_NAME)) {
        die("Database selection failed: ".mysqli_error($this->connection));
    }
}

另请注意,您可以通过mysqli_connect()并在一个步骤中选择数据库,这是不推荐使用的mysql_connect()无法执行的操作。

public function open_connection() {
    // CREATE DATABASE CONNECTION AND SELECT A DATABASE
    $this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
    if (mysqli_connect_error()) { 
        die("Database Connection Failed:".mysqli_connect_error()); 
    }
}