0

私はこの声明で少し迷っています。この 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'];

DB接続が機能しており、PDOでのクエリのこの部分

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

1 に答える 1

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'];

この例では、クエリの実行エラーを使用しますが、レコードが見つからないなどの場合は次のように使用します。

if ($count = $sth->rowCount() == 0) {
    echo "No records Found!";
}else{
    $rivername = $row['rivername'];
}
于 2013-08-09T09:23:15.183 に答える