在我之前的问题中我已经解决了它,我只是把它放在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;
}
答案 0 :(得分:0)
让我们一步一步:)
$this->connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS);
您可以直接使用值而不是定义的值来编写吗?像这样$this->connection = mysqli_connect("localhost", "root", "123456");
在下面运行查询而不是确认连接是否已打开,假设您有表名“user”然后写一个简单的选择查询$res=mysql_query("SELECT * FROM user",$this->connection) or die(mysql_error());
希望得到了我试图传达的东西......并希望它有所帮助
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());
}
}