質問

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は非常に柔軟であるので、同様に他の方法で使用することができます。マニュアルの偉大な例がたくさんあります。見てください!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top