Ниже приведены файлы, которые im использует (пытается) для извлечения информации из БД, но это дает мне ошибку.Ошибка базы данных базы данных PHP
Файл конфигурации:
define("DBHOST", "127.0.0.1");
define("DBUSER", "root");
define("DBPASS", "root");
define("DBNAME", "test");
define("DBPORT", "3306");
DB Класс:
class Database{
public function __contruct(){
$con = new mysqli(DBHOST, DBUSER, DBPASS, DBNAME, DBPORT);
if (!$con){
die("Error connecting to database");
}
else{
$this->con = $con;
}
}
function SimpleQuery(){
$query="SELECT * FROM accounts";
$array = $this->con->query($query);
while ($fields = $array->fetch_array(MYSQL_ASSOC)){
$values[] = $fields;
}
return $values;
}
}
Индекс файла:
require ("config.php");
require ("database.php");
$db = new Database();
echo $rows = $db->SimpleQuery();
дает мне эту ошибку:
Fatal error: Call to a member function query() on a non-object in database.php
Я думаю, вы должны объявить $ con внутри класса. http://php.net/manual/en/language.oop5.properties.php –
не те вещи работают :( – Phentom
@Phentom это опечатка. У вас есть '__contruct' вместо' __construct'. Кроме того, вы должны проверить для ошибок соединения с использованием '$ this-> con> connect_errors' (дает более подробную информацию о том, почему соединение не удалось). – Bjorn