ホームページ  >  記事  >  バックエンド開発  >  PDO フェッチの問題

PDO フェッチの問題

WBOY
WBOYオリジナル
2016-06-23 14:20:04961ブラウズ

PDO データ



私の兄弟は 3 つの画像で関数をカプセル化しました。fetch() を使用して while ループでデータを取得したいのですが、$roomName が役に立ちます

解決してください。
返信ディスカッション (解決策)
getListRoom は fetchData を呼び出し、その結果を返します

そして fetchData は毎回 SQL クエリを実行する必要があります

エラーがないか、結果が見つからない限り、fetchData は常にクエリの最初の結果を返します レコード

そのため、fetchData の戻り値をループ終了の判定として使用することはできません

fetchData メソッドで結果セットの配列を返すには fetchall を使用し、結果を表示するには array メソッドを使用する必要があります


あなた、問題は解決しました。しかし、まだ質問があります。つまり、フェッチメソッドはループ中にのみ直接呼び出すことができますが、フェッチをカプセル化する方法はありません

フェッチをカプセル化することはできますが、あなたのようにはできません。

たとえば、 fetchData($sql) の本来の目的は、SQL コマンドを実行して結果を返すことです

結果は 1 つまたは複数になる可能性があるためです。そのため、fetchだけでは要件を満たせないため、fetchallを使用する必要があります

実際の作業では、レコード数の取得やユーザーが登録されているかどうかの確認など、クエリ結果が1つしかない場合が多いです

別の fetchrow メソッドを定義し、fetch を使用して 1 行だけを返します

分かりました、ありがとう!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。