0
我試圖從postgresql數據庫獲取數據,我得到的錯誤:pg_last_error()期望參數1是資源,在/path/to/query.php中給出的對象 所以數據是作爲一個對象而不是資源。任何想法如何解決這一問題?pg_query拋出一個錯誤
的SQL工作與此代碼:
foreach ($conn->query($sql1) as $row)
{
print $row["Site_ID"] . " ";
print $row["Site_name_1"] . "<br /> ";
}
但問題棱當我使用pg_query代替。
這裏是我的代碼:
<?php include 'header.php'; ?>
<div class='container'>
<?php include 'menu.php'; ?>
<?php include 'PDO_connect.php'; ?>
<?php
$sql1='SELECT "Site_ID", "Site_name_1" FROM "Sites" ORDER BY "Sites"."Site_ID" ASC';
$result1 = pg_query($conn,$sql1);
if(!$result1) {
echo "There is an error!";
echo pg_last_error($conn);
}
?>
我的連接信息
<?php
try {
$dbuser = 'usr';
$dbpass = 'pwd';
$host = "localhost";
$dbname="db";
$conn = new PDO('pgsql:host=localhost;dbname=db', $dbuser, $dbpass);
}catch (PDOException $e) {
echo "Error : " . $e->getMessage() . "<br/>";
die();
}
?>
你能顯示'$ conn'的聲明?你可以用var_dump($ var)檢查它的值。它應該是pg_connect返回的資源:http://php.net/manual/en/function.pg-connect.php – JSLirola
var_dump($ conn)returns:object(PDO)#1(0){} –
我認爲您正在將PDO與pg_ *方法混合,如果您使用PDO進行連接,則應使用[PDO功能](http://php.net/manual/en/class.pdo.php)。檢查這個類似的問題:http://stackoverflow.com/questions/16108784/connect-to-postgresql-using-pdo – JSLirola