只有$ this->部分 - >查询($ query)我理解该链接是数据库类的成员变量,但不明白发生了什么$ this-> link->查询($ query)执行?求助,我是编码的新手
我的整个代码:
<?php
class Database
{
public $db_host=DB_HOST;
public $db_user=DB_USER;
public $db_pass=DB_PASS;
public $db_name=DB_NAME;
public $link;
public $error;
public function __construct()
{
// Call connect function
$this->connect();
}
private function connect()
{
$this->link= new mysqli($this->db_host,$this->db_user,$this->db_pass,$this->db_name);
if(!$this->link)
{
$this->error="Connection Failed";
return false;
}
}
public function select($query)
{
$result=$this->link->query($query) or die ("Query could not execute");
}
}
?>
答案 0 :(得分:0)
$this
是您正在使用的当前Database
对象。->
调用该对象的方法或成员link
是Database
的成员,恰好是mysqli
的另一个对象。query($query)
是一种链接方法。所以你打电话给mysqli
query
。 param $query
应该是你的sql
答案 1 :(得分:0)
$this->link
是一个数据库连接对象,它有一个名为query()
的方法,用于执行数据库查询并返回mysqli结果对象。 query()
方法采用SQL字符串。所以调用它的一种方法是:
$result = $this->link->query("SELECT * FROM table WHERE 1") ;
在调用mysqli query()
时使用变量而不是字符串文字非常常见:
$sql = "SELECT * FROM table WHERE 1" ;
$result = $this->link->query($sql) ;
对于您的代码,包含SQL字符串的变量称为$query
,这可能会让人感到困惑,特别是因为$query
没有定义在我能看到的任何地方。