I';“我在php mysql中的pdo中有一个错误”;对非对象调用成员函数setAttribute();
您好,我在PHP MySQL中遇到了一个PDO错误,我不知道该怎么办。它有任何配置吗?使用EasyHP软件 conections.php文件I';“我在php mysql中的pdo中有一个错误”;对非对象调用成员函数setAttribute();,php,phpmyadmin,phpunit,Php,Phpmyadmin,Phpunit,您好,我在PHP MySQL中遇到了一个PDO错误,我不知道该怎么办。它有任何配置吗?使用EasyHP软件 conections.php文件 <?php abstract class Conexao { const USER = "root"; const PASS = ""; const DB = "pare_aqui_db"; const HOST = "localhost"; private static $instancia = null
<?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中测试页面时出错
致命错误:在C:\EasyPHP-12.1\www\pare\u aqui\u web\u service\Dconecta.class.php的第17行对非对象调用成员函数setAttribute()
prepare()也不起作用
self::$instancia == new
未设置变量。因此,self::$instancia->setAttribute
正在触发错误,因为您正在非对象上执行(NULL)->setAttribute
这显然是一个输入错误,但只是以防万一:==
是比较运算符;您真正需要的是=
,它是赋值运算符;因此,正确的代码是:
self::$instancia = new PDO( $sqlPDO , self::USER , self::PASS );
你可能想建议op应该做些什么才能让这一切顺利进行?@ColinMorelli,给我时间