• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPでDBから比較結果を取得する関数が作りたい)

PHPでDBから比較結果を取得する関数の作成方法

このQ&Aのポイント
  • PHPでデータベースから比較結果を取得する関数の作り方について解説します。
  • 現在の関数は実行速度が遅く、改善が必要です。より高速な処理を行う方法を紹介します。
  • 具体的なコードの改善点や最適化の方法を詳しく説明します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

遅い原因を単刀直入に述べます。 「SQLでとりあえず全部取得してPHPで選出している」 ことが原因です。 WHERE句を使って欲しいものだけを取り出しましょう。 SELECT `word` FROM `data_table` WHERE `user` = ? (?にはユーザー名をバインドする) Mysqliでバインド変数を扱う方法に関してはマニュアルをご覧ください。 http://www.php.net/manual/ja/mysqli-stmt.bind-param.php 以下は個人的意見になります。 Mysqli関数・Mysqliクラスはかなりクセが強く、ずば抜けた高速性を要求しない限りはPDOクラスの方が扱いやすくてオススメです。PDOクラスでもPEAR::DBクラスやPEAR::MDB2クラスなんかに比べれば何倍も高速です。 PHPでデータベースに接続するときのまとめ http://qiita.com/mpyw/items/b00b72c5c95aac573b71 オブジェクト指向で書いてみたサンプルコード http://pastebin.com/eSsmWhyH

ReRife
質問者

お礼

たしかにPHPよりもSQLで取り出す方が高速ですね。 何故気づかなかったんだろう・・ 解答ありがとうございました。 進めていただいた、PDOで実装する方法も試してみたいと思います。

関連するQ&A