我尝试了所有的东西,但它不起作用,请一些人查看这段代码?
这是Database.class.php文件..
class Database
{
public $db = NULL;
public $libraries = NULL;
public function Database( $config )
{
$this->Connect( $config['host'], $config['user'], $config['pass'], $config['database'] );
}
public function Connect($host, $user, $pass, $db)
{
$this->db = new mysqli( $host, $user, $pass, $db );
}
public function query( $sql )
{
$f = func_get_args( );
$i = 1;
while ( $i <= count( $f ) )
{
$args[] = addslashes( $f[$i] );
++$i;
}
$query = $this->createQuery( $sql, $args );
if ( !( $result = $this->db->query( $query ) ) )
{
exit( mysqli_error( $this->db ) );
}
return $result;
}
public function fetch_assoc( $result )
{
return $result->fetch_assoc( );
}
public function createQuery( $sql, $args )
{
$i = 0;
while ( $i != count( $args ) )
{
$sql = preg_replace( "/%s/", str_replace( "s", "\\s", $args[$i] ), $sql, 1 );
++$i;
}
return $sql;
}
}
这是Template.class.php文件..
public function getPageInfo( $page )
{
$result = $this->Database->query( "select * from `content` where `name` = '%s'", $page );
$row = $result->fetch_assoc( );
if ( $result->num_rows == 0 )
{
return false;
}
return $row;
}
index.php PHP中包含的库.. 第一个Database.class.php 第二个Template.class.php
我还附上了这两个文件..
答案 0 :(得分:1)
Charles Sprayberry是完全正确的。您在此处发布的代码要么不完整,要么您真的忘记创建数据库类的实例。此代码中缺少的第一件事是您定义类的位置。缺少class myDataBase {}
之类的东西。好吧,至少我希望你想创建一个,因为你正在使用$this->
。第二件事是您在$this->db
函数中使用了Connect()
,但在$this->Database
函数中尝试使用getPageInfo()
。请提供有关该类的更多信息,函数getPageInfo()
所在的位置以及您如何创建类的实例。