Php 从mysqli获取数据
我一直收到这样一条消息,我似乎无法找出原因,“mysqli_query()期望参数1是mysqli” 这是我的代码(我有一个名为database aside repsonable的对象,用于db连接和其他db函数)Php 从mysqli获取数据,php,mysqli,Php,Mysqli,我一直收到这样一条消息,我似乎无法找出原因,“mysqli_query()期望参数1是mysqli” 这是我的代码(我有一个名为database aside repsonable的对象,用于db连接和其他db函数) 像这样改变你的班级: class MySQLDatabase{ private $connection; public function __construct(){ $this->connection = mysqli_connect('l
像这样改变你的班级:
class MySQLDatabase{
private $connection;
public function __construct(){
$this->connection = mysqli_connect('localhost', 'root', '', 'alpha');
if (!$connection){die ("can't connect:".mysqli_error())};
}
public function get_connection(){
return $this->connection;
}
}
<?php
include 'MySQLDatabase.php';
$db = new MySQLDatabase();
$conn = $db->get_connection();
$sql="SELECT marque,cpu FROM pc";
if ($result=mysqli_query($conn,$sql)){
// Fetch one and one row
while ($row=mysqli_fetch_row($result))
{
printf ("%s %s\n",$row[0],$row[1]);
}
// Free result set
mysqli_free_result($result);
}else{
echo 'query failed';
}
?>
像这样使用它:
class MySQLDatabase{
private $connection;
public function __construct(){
$this->connection = mysqli_connect('localhost', 'root', '', 'alpha');
if (!$connection){die ("can't connect:".mysqli_error())};
}
public function get_connection(){
return $this->connection;
}
}
<?php
include 'MySQLDatabase.php';
$db = new MySQLDatabase();
$conn = $db->get_connection();
$sql="SELECT marque,cpu FROM pc";
if ($result=mysqli_query($conn,$sql)){
// Fetch one and one row
while ($row=mysqli_fetch_row($result))
{
printf ("%s %s\n",$row[0],$row[1]);
}
// Free result set
mysqli_free_result($result);
}else{
echo 'query failed';
}
?>
在您的打开连接
函数中,将$connection
替换为$this->connection
,用于回复,但它给出了一个错误,表示它不“知道”它,我认为$connection工作正常。您需要将所有$connection
替换为$this->connection
(也将此变量定义为类的成员变量)在您的打开连接
函数中。$connection
不是在函数的外部定义的打开连接
。通过将其作为类的公共成员变量,您可以在代码中自由使用它,只要mysqli连接在$database->connection
中打开。实际上,我在函数外部定义了它在类的开头,它是这样的:public$conction抱歉,我没有提到它,您仍然需要使用$this->connection
,因为$connection
是方法范围内的局部变量。