Здравствуйте, у меня ошибка PDO в PHP MySQL, и я не знаю, что делать. Это какая-то конфигурация? Используйте easyphp grateful
Файл соединений .php
<?php
abstract class Conexao
{
const USER = "root";
const PASS = "";
const DB = "pare_aqui_db";
const HOST = "localhost";
private static $instancia = null;
private static function conectar()
{
try
{
if(self::$instancia == null):
$sqlPDO = "mysql:host=".self::HOST.";dbname=".self::DB;
self::$instancia == new PDO( $sqlPDO , self::USER , self::PASS );
self::$instancia->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$instancia->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
endif;
}
catch(PDOException $erro_conecta){echo "erro".$erro_conecta->getMessage();}
return self::$instancia;
}
protected static function getDB()
{
return self::conectar();
}
}
?>
Ошибка при тестировании страницы в Chrome Неустранимая ошибка: вызов функции-члена setAttribute () для не-объекта в C: \ EasyPHP-12.1 \ www \ pare_aqui_web_service \ Dconecta.class.php в строке 17
Подготовка () также не работает
1 ответ
self::$instancia == new
Не устанавливает переменную. Следовательно, self::$instancia->setAttribute
вызывает ошибку, потому что вы выполняете (NULL)->setAttribute
не на объекте.
Очевидно, это была опечатка, но на всякий случай: ==
- оператор компаратора; на самом деле вы ищете =
, который является оператором присваивания ; поэтому правильный код:
self::$instancia = new PDO( $sqlPDO , self::USER , self::PASS );
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.