php - 使用 PDO 从 PostgreSQL 表中获取结果时出现问题

标签 php postgresql pdo

我在 Mac OS X 上的 PostgreSQL 数据库中有一个名为 testDB 的数据库和一个表 test_tbl,其中包含三个字段 ID、User、Pass .

我正在使用以下 php 代码从表中获取结果。

<?php
try {
    $dbuser = 'postgres';
    $dbpass = 'test123';
    $dbhost = 'localhost';
    $dbname='testDB';

    $connec = new PDO("pgsql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
} catch (PDOException $e) {
    echo "Error : " . $e->getMessage() . "<br/>";
    die();
}

$sql = 'SELECT ID, User, Pass FROM test_tbl ORDER BY ID';

foreach ($connec->query($sql) as $row) {
    print $row['ID'] . " ";
    print $row['User'] . "-->";
    print $row['Pass'] . "<br>";
}

它引发了以下错误:

Warning: Invalid argument supplied for foreach() in /Users/nikko/Sites/pg_conn2.php on line 12

最佳答案

我能够解决问题。如果您在数据库表字段名称中使用大写字母,则 PostgreSQL 会出现问题,然后会抛出此异常。我将字段更改为小型大写字母,它开始工作了。 – Nikko 刚刚编辑

关于php - 使用 PDO 从 PostgreSQL 表中获取结果时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50157715/

相关文章:

mysql - 如何使用PDO和bindParam将数组插入mysql?

php - 如何舍入表输出中的 mysql 列

php - 在 Propel ORM 中使用 MySQL 函数

sql - 按 ts_rank_cd 排序时,PostgreSQL 全文搜索性能 Not Acceptable

postgresql - Flutter + Dart App与Postgres数据库的连接与查询

macos - PSQL 字符编码/显示奇怪

php - 设置时区问题

PHP PDO - 将数组用于 SELECT SQL 语句

php - 使用 PHP 的 JavaScript atob 操作

php - MySQL 查询在 phpmyadmin 中有效,但在网站上的 php 代码中无效