如何用PHP在Postgres中选择数据库?

时间:2013-07-17 17:54:52

标签: php sql postgresql

我有以下字符串连接:

$string_connection = "host=localhost port=5432 user=postgres password=postgres";
$conn = pg_connect($string_connection );

稍后在我的代码中,我需要选择一个数据库:

pg_connect("dbname=my_database");

但是,我总是遇到以下错误:

Warning: pg_connect(): Unable to connect to PostgreSQL server: fe_sendauth: no password supplied in ..\class.databases.php on line 142

但是,在PHP.net的例子中,他们这样做。 另一个例子:

pg_query($conn,'\connect my_database');

为什么这不起作用?

当我使用PgAdmin进行备份时,我得到以下字符串:

SET statement_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;

DROP DATABASE my_database;

CREATE DATABASE my_database WITH ENCODING = 'UTF8' LC_COLLATE = 'Portuguese_Brazil.1252' LC_CTYPE = 'Portuguese_Brazil.1252';

ALTER DATABASE my_database OWNER TO postgres;

\connect my_database

当我尝试使用pg_query运行此脚本时,我有错误:

Warning: pg_query(): Query failed: ERRO: syntax error in "\" LINE 1: \connect my_database ^

我需要选择一个dabatase来创建一个模式,然后创建我的表...我不知道如何用Postgres做到这一点。

1 个答案:

答案 0 :(得分:2)

添加" dbname = my_database"连接字符串,以便在连接时选择数据库。