web-dev-qa-db-ja.com

bind_resultを配列にPHP mysqliプリペアドステートメント

PHPプリペアドステートメントの結果を配列にバインドする方法と、それらを呼び出す方法を考えています。たとえば、このクエリ

$q = $DBH->prepare("SELECT * FROM users WHERE username = ?");
$q->bind_param("s", $user);
$q->execute();

これにより、ユーザー名、電子メール、およびIDの結果が返されます。それを配列にバインドしてから変数に格納して、ページ全体で呼び出すことができるかどうか疑問に思っていますか?

14
mcbeav

具体的には、ここで: http://php.net/manual/en/mysqli-stmt.bind-result.php#92505 – cbrandolino

5
mcbeav

PHP 5.3が導入されました mysqli_stmt :: get_result 、これは結果セットオブジェクトを返します。次に、 mysqli_result :: fetch_array() または mysqli_result :: fetch_assoc() を呼び出すことができます。ただし、ネイティブMySQLドライバーでのみ使用できます。

13
Ian Dunn

bind_result()の代わりにget_result()を使用して結果セットをループし、からの値を格納する方法の例については、 未定義のメソッドmysqli_stmt :: get_resultの呼び出し を参照してください。数値インデックス付き配列の各行。

1
mti2935