1

我有以下字符串连接:

$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 ^

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

4

1 回答 1

2

将“dbname=my_database”添加到您的连接字符串以在连接时选择一个数据库。

于 2013-07-17T18:00:17.617 回答