php - sistema - PDO no se puede conectar si la contraseña contiene espacios
sistema de login php (1)
Esto es un error en php ( no Bug # 62479 ) que cuando intentas conectarte a una base de datos Postgresql con una contraseña que contiene 1 o más espacios, pdo no podrá conectarse
tienes que usar como goget2me
(sin espacio en la contraseña)
Estoy creando un sitio web PHP usando PDO con PHP pero mi DSN (para Postgresql) no se está conectando a la base de datos mientras Mysql está funcionando bien.
Estoy intentando con la contraseña abc
.
Error: excepción ''PDOException'' con el mensaje ''SQLSTATE [08006] [7] missing "=" después de'' b ''en la cadena de información de conexión'' en /var/www/owncloud/pg_test.php:11
Stack trace:
# 0 /var/www/owncloud/pg_test.php(11): PDO -> __ construct (''pgsql: dbname = te ...'', ''test'', ''ab c'')
# 1 {main}
¡esta funcionando!
<?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";
}