0

データベースにアクセスするためのコードをPDOに変換しています。私は次のことに出くわしました:

mysql_data_seek($result, 0);
$row0 = mysql_fetch_assoc($result);

そして、グーグルなどでの私の読書から、私はこれが次のようになるべきであることを理解しています:

$row0 = $result->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, 0);

ただし、これは機能していません。私が間違っていることについて何か考えはありますか?

4

2 に答える 2

1

クエリの最初のオプション:

query結果を直接繰り返すことができます。

foreach ($db->query($sql) as $row) {
    echo $row['FirstName'];
}

実行の2番目のオプション:

$sth = $db->prepare($sql);
$sth->execute();
$row = $sth->fetch(PDO::FETCH_ASSOC); // fetch the next row from statement
echo $row['FirstName'];
于 2013-02-18T23:44:43.420 に答える
1

マニュアルから;

PDOStatementオブジェクトに関連付けられた結果セットから行をフェッチします。fetch_styleパラメーターは、PDOが行を返す方法を決定します。

メソッドstmtによって作成されたが必要です。PDO::prepare

これを見てみましょう。

// assuming $pdo was created before as well
$sth = $pdo->prepare("SELECT name, colour FROM fruit");
// exec here
$sth->execute();
// get a row here
$row = $sth->fetch(PDO::FETCH_ASSOC);
// here probably you'll get a print out like
// Array([name] => Banana, [color] => Yellow)
print_r($row);

詳細については、こちらをご覧ください:PHP PDOStatement :: fetch

于 2013-02-18T23:48:24.283 に答える