0

mysqlクエリから行を選択し、PDOを使用して変数に保存するにはどうすればよいですか?以前はこのようにしました

$row = mysql_fetch_array($result);

  $ID = $row['ID'];

PDOStatement::fetch()今、私は代わりのPHPマニュアルを読みましたmysql_fetch_arrayが、それを使用する方法がわかりません。これは私が試したものですが、明らかに機能しません

 <?php
include 'config.php';

$sql = "select * from table1";

try {
    $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);  
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $dbh->query($sql);  
    $result = $stmt->fetchAll(PDO::FETCH_OBJ);
    $dbh = null;
    echo '{"items":'. json_encode($result) .'}'; 
} catch(PDOException $e) {
    echo '{"error":{"text":'. $e->getMessage() .'}}'; 
}

$row = $stmt->fetchAll(PDO::FETCH_OBJ);
  $ID = $row['ID'];


?>
4

1 に答える 1

0

を使用している場合はPDO::FETCH_OBJ、オブジェクト表記を使用して結果の要素を取得する必要があります。すでにfetchAll()メソッドを呼び出しているため、データにアクセスできなくなるため、後で別のfetch/fetchAllメソッドを呼び出すことはできません。

の代わりに、以前に戻ってき$row = $stmt->fetchAll(PDO::FETCH_OBJ);た変数を繰り返し処理します。$resultfetchAll()

foreach($result as $row)
{
    $ID = $row->ID;
    // Etc...
}
于 2012-06-26T06:02:10.973 に答える