1

mysql_* では、次を使用して特定の行と列を表示できます。

mysql_result(3,2)

これにより、結果セットの 3 行目の 2 列目が表示されます。

いくつかの mysql データを表示するための php pdo スクリプトがあります。

$sth = $db->prepare("SELECT name, surname FROM people"); 
$sth->execute(); 
$row = $sth->fetch(); 
$name=$row[name];
$surname=$row[surname];

クエリに対して単一の結果が得られた場合、上記はうまく機能します。複数の結果がある場合、特定の行と列の名前と姓を取得するにはどうすればよいですか。

では、行 11 の列 0 と行 11 の列 1 (行 11 の名前と姓) が必要な場合、構文はどうなるでしょうか?

いつもアドバイスありがとうございます。

4

1 に答える 1

1

特定の行が必要な場合LIMITは、クエリで使用して、返されるデータセットを絞り込む必要があります。別の方法として使用することもできますfetchAll()が、これは必要以上のリソースを使用するためLIMIT、速度が向上し、リソースの使用量が削減されます。

PS: 配列の使用法が間違っています。あなたはやるべきではあり$row['name'];ません$row[name];。またはfetch(PDO::FETCH_OBJ)(またはfetchObject()) を使用して、このようなプロパティにアクセスします$row->name;

編集

fetchAll()数値インデックスと列名インデックスの両方を含む配列を返します。したがって、11 行目の列 0 と 1 にアクセスすると、次のようになります。

$dataArray = $sth->fetchAll();
$name = $dataArray[10][0];
$surname = $dataArray[10][1];

または(どちらが優れているか):

$name = $dataArray[10]['name'];
$surname = $dataArray[10]['surname'];

行のインデックスは 0 であるため、 で10はないことに注意してください11

于 2012-11-20T13:27:46.567 に答える