如何在PHP中连接到PDO
你好,两周前我使用了Mysqli,一切正常,但现在我使用PDO,有很多问题。这是其中之一。我在MYSQLi类中使用了连接到MySQL的下一个设置:如何在PHP中连接到PDO,php,mysql,pdo,Php,Mysql,Pdo,你好,两周前我使用了Mysqli,一切正常,但现在我使用PDO,有很多问题。这是其中之一。我在MYSQLi类中使用了连接到MySQL的下一个设置: self::$data['host'] = 'localhost'; self::$data['user'] = 'mysql'; self::$data['pass'] = 'mysql'; self::$data['db'] = '123'; 它成功了。 但当我用它在这个: private static function connect()
self::$data['host'] = 'localhost';
self::$data['user'] = 'mysql';
self::$data['pass'] = 'mysql';
self::$data['db'] = '123';
它成功了。
但当我用它在这个:
private static function connect()
{
if(!self::$connection)
{
try
{
self::$connection = new \PDO('mysql:host='.self::$data['host'].';dbname='.self::$data['name'], self::$data['user'], self::$data['pass']);
self::$connection -> setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
self::$connection -> exec('SET NAMES utf8');
}
catch (PDOException $e)
{
die('Ошибка подключения к БД: '.$e->getMessage());
}
}
}
PHP调用错误:
用户“@”localhost的SQLSTATE[HY000][1045]访问被拒绝(使用密码:否)
对不起,我是PDO的初学者 错误提示您的登录名和密码错误。您检查过它们吗?您输入了错误的数据库凭据。您的数据库名称在
self::$data['DB']
中,在您使用的dsn字符串中self:$data['name']
。你确定吗?你的连接代码错了。请阅读。有了正确的错误报告,你就可以自己发现那个愚蠢的打字错误了。newpdo($dsn,$username,$password)
只有少数数据库类型支持$dsn
本身中的用户名和密码。谢谢。你的评论很有用
self::$data['host'] = 'localhost';
self::$data['user'] = 'mysql';
self::$data['pass'] = 'mysql';
self::$data['db'] = '123';
private static function connect()
{
if(!self::$connection)
{
try
{
self::$connection = new PDO('mysql:host='.self::$data['host'].';dbname='.self::$data['db'], self::$data['user'], self::$data['pass']);
// just correct your database name variable like as above
self::$connection -> setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
self::$connection -> exec('SET NAMES utf8');
}
catch (PDOException $e)
{
die('Ошибка подключения к БД: '.$e->getMessage());
}
}
}