質問
PHPのMySQLiを機能が素晴らしいです。
プリペアドステートメントは、クエリのパラメータを注入するための素晴らしいです。
あなたはステートメントを使用する場合は、しかし、あなたがもうFETCH_ASSOC機能へのアクセス権を持っていけないようです。手動ですべての結果をバインドする必要があります。これは私のSQLクエリは、私は(bind_resultを使用して)結果を得る際に、事前にすべての変数をリストする必要があり、すべてのフィールドをリストしている意味します。これは非常に迷惑と時間を浪費になることができます。
の代替はありますか?
おかげ
解決
MySQLiをがresult_metadata機能を見て、これに対処するためのメソッドを提供しています。
私は、手間のかからないパラメータ化MySQLiをクエリを許可するようにクラスを書いた - ダウンロードと基本的な使用方法の情報がここにあります:<のhref =「http://www.robpoyntz.com/blog/?p=191」 rel = "nofollowをさnoreferrer"> http://www.robpoyntz.com/blog/?p=191 の
他のヒント
はい、それは PDO に呼ばれていますし、一般的にMySQLiのに好適です。これは、通常のフェッチオプションを使用してステートメントを提供し、明示的にすべてのパラメータをバインドするためにあなたを強制するものではありません。典型的なクエリは次のようになります。
$stmt = $db->prepare("SELECT * FROM foo WHERE a = ?");
$stmt->execute(array($a));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
PDOは非常に柔軟であるので、同様に他の方法で使用することができます。マニュアルの偉大な例がたくさんあります。見てください!
所属していません StackOverflow