【发布时间】:2012-10-31 01:18:42
【问题描述】:
我正在使用 PDO 和 PHP 创建一个 PHP 网站,但我的 DSN(用于 Postgresql)没有连接到数据库,而 Mysql 工作正常。
我正在尝试使用密码a b c。
错误:异常 'PDOException' 与消息 'SQLSTATE[08006] [7] 在 /var/www/owncloud/pg_test.php:11 中的连接信息字符串中的“b”后缺少“=”
堆栈跟踪:
#0 /var/www/owncloud/pg_test.php(11): PDO->__construct('pgsql:dbname=te...', 'test', 'a b c')
#1 {主要}
它正在工作!
<?php
/** createuser -d -R -S -P test
* => set password to "a b c"
*/
$dsn = "pgsql:dbname=test;host=localhost";
$user = "test";
$psw = "a b c";
try{
$db = new PDO($dsn,$user,$psw);
echo "Oh gosh!\n";
}catch(PDOException $e){
echo "Error :" . $e."\n";
}
$e_user = addslashes($user);
$e_password = addslashes($psw);
$psw = $user = null;
$dsn .= ";user='$e_user';password='$e_password'";
try{
$db = new PDO($dsn,$user,$psw);
echo "it's working!\n";
}catch(PDOException $e){
echo "Error :" . $e."\n";
}
【问题讨论】:
-
你能发布你正在使用的代码吗?
-
@Blender 不,我曾经尝试过使用 Postgresql 数据库不工作,而不是使用 sql 尝试过
-
@Daedalus ,null , blender 我该怎么办???
-
-1 非常不具体,没有错误消息,没有版本,措辞不明确,没有研究工作的迹象。
标签: php postgresql pdo