我想使用PDO对象连接到PostgreSQL数据库,这就是我所做的:
Postgres
CREATE USER testdb_login WITH PASSWORD 'abcd';
GRANT ALL PRIVILEGES ON DATABASE testdb TO testdb_login;
在 PHP
中$conn = new PDO("pgsql:host=localhost;dbname=testdb", "testdb_login", "abcd");
上面的代码给了我一个致命的错误:
Call to a member function fetch() on boolean...
但是如果我使用默认用户名
尝试相同的代码 $conn = new PDO("pgsql:host=localhost;dbname=testdb", "postgres", "password");
我可以成功连接并检索数据。
我在哪里犯了错误?
答案 0 :(得分:0)
试试这个:
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA testdb TO testdb_login;
如果testdb也是userinfo表所在的模式名称。