【问题标题】:Warning: pg_query() expects parameter 1 to be resource, object given in C:\xampp\htdocs\grafig\read.php on line 6警告:pg_query() 期望参数 1 是资源,在第 6 行的 C:\xampp\htdocs\grafig\read.php 中给出的对象
【发布时间】:2020-01-22 03:44:43
【问题描述】:

代码有什么问题??

<?php
$host       =  "localhost";
$dbuser     =  "tesdb";
$dbpass     =  "123456";
$dbname    =  "tesdb";

// script koneksi php postgree
$dbcon = new PDO("pgsql:dbname=$dbname;host=$host", $dbuser, $dbpass); 

//$query ="SELECT * FROM air_tanah.pembayaran";
$query ="select * from air_tanah.pembayaran";
$result = pg_query($dbcon, $query) or die('Query failed');

  // output result
  while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
   echo "    Denda: " . $line['denda'] ."    Penyimpan: " . $line['Penyimpan'] .  "<br/>";
  }

  // free result
  pg_free_result($result);

  // close connection
  pg_close($dbcon);
?>

这样的错误

警告:pg_query() 期望参数 1 是资源,在第 12 行的 C:\xampp\htdocs\grafig\read.php 中给出的对象 查询失败

【问题讨论】:

  • 看来$dbcon 是一个实例而不是用于识别连接的数据库资源。请编辑您的问题并添加您为此变量分配值的代码。

标签: php postgresql


【解决方案1】:

您输入的代码不允许我们真正回答您的问题,我们需要知道分配给 $dbcon 变量的内容。

pg_query 期望有一个资源实例来保存连接。此类资源是使用 pg_connectpg_pconnect 方法创建的,因此我们需要查看您的 db_con.php 文件的内容:请务必删除所有凭据(例如,使用 * 符号隐藏它们)。

似乎其他东西主动设置了变量:你确定你已经使用pg_connect而不是PDO创建了一个连接,例如(这会回答为什么你有一个对象而不是资源)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 2015-09-23
    • 1970-01-01
    相关资源
    最近更新 更多