【发布时间】:2018-06-26 15:26:09
【问题描述】:
我正在调用一个类以通过构造方法连接到我的本地 mySql 数据库。启动 php 文件时出现 500 错误。我做错了什么吗?当我实例化它但无法连接时,我将主机用户 pass 和 dbName 的值传递到类中。 db 工作正常,我已经测试过了。
<?php
Class MyDB{
public $query;
public $myConnection;
public function__construct($host, $username, $password, $dbname){
$this->myConnection = mysqli_connect($host, $username, $password, $dbname);
}
public function listScores(){
$this->query = "SELECT answer FROM correct_guesses" or die("error ..." . mysqli_error($this->$myConnection));
$result = $this->$myConnection->query($this->query);
while($row = mysqli_fetch_array($result)) {
echo $row["answer"] . "<br>";
}
}
}
$score = new MyDB('localhost','root','root','scoreDB');
$score->listScores();
?>
【问题讨论】:
-
这里少了一个空格:
function__construct但我不确定这会导致 HTTP 500 错误。 -
一般 500 错误意味着您需要检查服务器日志。最好使用报告/显示所有错误而不是记录它们的服务器进行开发。
-
您的查询也将失败。这不是向查询中添加 die 语句的方式。
-
$this->query怎么可能无法赋值?这里在许多层面上都存在很多问题,但最重要的是您将 OO 风格和程序风格混合在一起。使用 OO 风格。 -
嗨 Aynber,在我在第 18 行的 myConnection 上附加缺少的空格和 $ 后,它对我来说很好。