Php pg_prepare():查询失败:错误:关系不存在
我正在尝试使用PHP在Postgres数据库上执行查询。我得到以下错误:Php pg_prepare():查询失败:错误:关系不存在,php,postgresql,prepared-statement,Php,Postgresql,Prepared Statement,我正在尝试使用PHP在Postgres数据库上执行查询。我得到以下错误: pg_prepare(): Query failed: ERROR: relation "login" does not exist LINE 1: SELECT * FROM login 这是我的代码片段: $connString = "host= port= dbname= user=password="; $conn = pg_connect($connString); if ($conn) { $sql
pg_prepare(): Query failed: ERROR: relation "login" does not exist LINE 1: SELECT * FROM login
这是我的代码片段:
$connString = "host= port= dbname= user=password=";
$conn = pg_connect($connString);
if ($conn) {
$sql = 'SELECT * FROM login ';
if (pg_prepare($conn, "myQuery", $sql)) {
$result = pg_execute($conn, "myQuery", array());
if ($result) {
while ($row = pg_fetch_row($result)) {
echo $row[0];
echo $row[1];
}
} else {
echo 'executing error!';
}
} else {
echo 'preparing error!';
}
} else {
echo "Connection error!";
}
if ($conn) {
pg_close($conn);
}
当我运行这个脚本时,它还会打印“准备错误!”
我猜数据库里有什么东西。
我已尝试创建一个新表。我还尝试在几个地方的查询中使用引号,但没有任何效果
这是我用来创建数据库的查询:
CREATE TABLE login
(
user_id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
username character varying(50) COLLATE pg_catalog."default",
pwd character varying(50) COLLATE pg_catalog."default",
CONSTRAINT pk_user_id PRIMARY KEY (user_id)
)
如何修复此问题?试试看
SELECT * FROM public."login"
我的意思是,错误信息似乎很简单。您确定该表确实存在吗?使用psql连接到数据库,并执行登录检查。如果您试图创建它但没有成功,请包括您尝试的CREATETABLE语句&运行它时得到的输出。表是如何创建的。当使用双引号表名创建表时,通常会发生这种情况。发布用于创建表的DDL。我100%确定表存在,并且我创建的表没有双引号。我试过使用双引号和不使用双引号。两个都不起作用。