将PG_query转换为PDO语句

时间:2013-08-09 08:59:38

标签: sql postgresql select pdo

我对此声明感到有些失落。我试图将此PG_query脚本转换为PDO。想法是我可以使用这个例子,从数据库中提取其他值并以表格形式显示。我可以使用PDO填充下拉列表,但不知道该怎么做,所以我可以获取行值并填写表单项。所以这个例子我只想抓住rivername。

$result = pg_query("SELECT * FROM rivers_tbl WHERE river_id  = '$river_id'");
$test = pg_fetch_array($result);
  if (!$result) 
    {
    die("Error: Data not found..");
    }
    $rivername = $test['rivername'];

我有一个数据库连接工作,我在PDO中的这部分查询

 $stmt2 = $conn->prepare("SELECT * FROM rivers_tbl WHERE river_id  = '$river_id'");
   if ($stmt2->execute()) {
       $stmt2->setFetchMode(PDO::FETCH_ASSOC);
       }

1 个答案:

答案 0 :(得分:1)

$sql = "SELECT * FROM rivers_tbl WHERE river_id  = :river_id";
    $sth = $conn -> prepare($sql);
    $sth -> bindValue(':river_id', $river_id, PDO::PARAM_INT);
    $sth -> execute();

    $row = $sth->fetch(PDO::FETCH_ASSOC);

  if (!$sth) { 
    die("Error: ..");
    }
    $rivername = $row['rivername'];

在这个例子中,我使用Error执行查询,但是对于像找不到的记录那样使用:

if ($count = $sth->rowCount() == 0) {
    echo "No records Found!";
}else{
    $rivername = $row['rivername'];
}