Returning specific rows using prepared statements
I have a problem where my prepared statement appears to only be returning the number of rows returned rather than the value of the row. Below is my code. I did try google for this but it doesn't tell me anything! If someone could tell me what I am doing wrong and how to fix it I would be very appreciative. Thanks
$query2 = 'SELECT * FROM kids_entry WHERE email = ?';
$stmt2 = $connection->prepare($query2);
// bind the user id as an integer to the first ?
$stmt2->bind_param('s', $emai开发者_如何学JAVAl);
$stmt2->execute(); // execute the statement
$stmt2->store_result(); // this call is required for the next operation
while($row1 = $stmt2->fetch()){
printf ("%s \n", $entries);
}
EDIT
I did just try replacing the if with a while loop and i got the same thing.
EDIT 2
Having added the new code it works but how would i assign this to a $variable?
See the example in the php documentation: mysqli_stmt_fetch
/* execute statement */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($name, $code);
/* fetch values */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}
/* close statement */
$stmt->close();
精彩评论