我有一个mysqli类,以前是从mysql扩展转换而来的。但现在我收到了这个错误:
警告:mysqli_query()要求参数1为mysqli,第27行的C:\ AppServ \ www \ ADMIN2 \ i_n_c \ db.php中给出的字符串
数据库错误:无法使用数据库test1n
MySQL错误:0()nSession暂停。
我将这个课程与mysql_*
一起使用多年,但现在我试图用MySQLi来计算它。
<?php
class Database
{
var $Host = "localhost"; // Hostname of our MySQL server.
var $Database = "test1"; // Logical database name on that server.
var $User = "root"; // User and Password for login.
var $Password = "123456789";
var $Link_ID = 0; // Result of mysql_connect().
var $Query_ID = 0; // Result of most recent mysql_query().
var $Record = array(); // current mysql_fetch_array()-result.
var $Row; // current row number.
var $LoginError = "";
var $Errno = 0; // error state of query...
var $Error = "";
//-------------------------------------------
// Connects to the database
//-------------------------------------------
function connect()
{
if( 0 == $this->Link_ID )
$this->Link_ID=mysqli_connect( $this->Host, $this->User, $this->Password );
if( !$this->Link_ID )
$this->halt( "Link-ID == false, connect failed" );
if( !mysqli_query( sprintf( "use %s", $this->Database ), $this->Link_ID ) )
$this->halt( "cannot use database ".$this->Database );
} // end function connect
//-------------------------------------------
// Queries the database
//-------------------------------------------
function query( $Query_String )
{
$this->connect();
$this->Query_ID = mysqli_query( $Query_String,$this->Link_ID );
$this->Row = 0;
$this->Errno = mysqli_errno();
$this->Error = mysqli_error();
if( !$this->Query_ID )
$this->halt( "Invalid SQL: ".$Query_String );
return $this->Query_ID;
} // end function query
//-------------------------------------------
// If error, halts the program
//-------------------------------------------
function halt( $msg )
{
printf( "Database error: %sn", $msg );
printf( "MySQL Error: %s (%s)n", $this->Errno, $this->Error );
die( "Session halted." );
} // end function halt
//-------------------------------------------
// Retrieves the next record in a recordset
//-------------------------------------------
function nextRecord()
{
@ $this->Record = mysqli_fetch_array( $this->Query_ID );
$this->Row += 1;
$this->Errno = mysqli_errno();
$this->Error = mysqli_error();
$stat = is_array( $this->Record );
if( !$stat )
{
@ mysqli_free_result( $this->Query_ID );
$this->Query_ID = 0;
}
return $stat;
} // end function nextRecord
//-------------------------------------------
// Retrieves a single record
//-------------------------------------------
function singleRecord()
{
$this->Record = mysqli_fetch_array( $this->Query_ID );
$stat = is_array( $this->Record );
return $stat;
} // end function singleRecord
//-------------------------------------------
// Returns the number of rows in a recordset
//-------------------------------------------
function numRows()
{
return mysqli_num_rows( $this->Query_ID );
} // end function numRows
} // end class Database
?>