无法使用pg_connect将php连接到postgres数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用pg_connect将php连接到postgres数据库相关的知识,希望对你有一定的参考价值。
我只是尝试将我的php代码连接到postgres数据库但不幸的是它不起作用,这是我的代码:
<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
$host = "host=127.0.0.1";
$port = "port=5432";
$dbname = "dbname=public";
$credentials = "user=postgres password=postgres";
$db = pg_connect( "$host $port $dbname $credentials" ) or die('Could not connect');;
if(!$db){
echo "Error : Unable to open database
";
} else {
echo "Opened database successfully
";
}
浏览器结果:
警告:pg_connect():无法连接到PostgreSQL服务器:致命:第11行/var/www/test/pgtest.php中不存在数据库“public”
谁知道这里有什么问题?
答案
您确定数据库的名称是“公共”吗?就像我记得的那样,'public'是PostgreSQL数据库中默认模式的名称。
请确保数据库'public'确实存在。
另一答案
从命令行,成为postgres用户,启动psql,并发出 list命令列出您的数据库。确保您尝试打开的数据库位于列表中。
确保您的pg_hba.conf文件允许打开数据库。
从pg_connect调用中删除除$ dbname之外的所有内容,并允许API使用默认值。按错误消息指示添加参数。
另一答案
抱歉,但最后我发现我的问题是错的,public
和testdb
是postgres
数据库中的方案,
以上是关于无法使用pg_connect将php连接到postgres数据库的主要内容,如果未能解决你的问题,请参考以下文章
PHP 无法在 CentOS 7 上连接到 PostgreSQL