我在 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/