bind_result into an array PHP mysqli prepared stat

2019-02-12 03:34发布

问题:

wondering how i could bind the results of a PHP prepared statement into an array and then how i could go about calling them. for example this query

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

and this would return the results the username, email, and id. wondering if i could bind it in an array, and then store it in a variable so i could call it throughout the page?

回答1:

PHP 5.3 introduced mysqli_stmt::get_result, which returns a resultset object. You can then call mysqli_result::fetch_array() or mysqli_result::fetch_assoc(). It's only available with the native MySQL driver, though.



回答2:

specifically, here: http://php.net/manual/en/mysqli-stmt.bind-result.php#92505 – cbrandolino



回答3:

See Call to undefined method mysqli_stmt::get_result for an example of how to use bind_result() instead of get_result() to loop through a result set and store the values from each row in a numerically-indexed array.