2009-11-17 2 views
1

J'ai un problème lorsque mon instruction préparée ne renvoie que le nombre de lignes renvoyées plutôt que la valeur de la ligne. Voici mon code. J'ai essayé google pour ça mais ça ne me dit rien! Si quelqu'un pouvait me dire ce que je fais de mal et comment le réparer, je serais très reconnaissant. MerciRenvoyer des lignes spécifiques à l'aide d'instructions préparées

$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', $email); 
$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

Je ne juste essayer de remplacer le cas avec une boucle while et je suis arrivé la même chose.

EDIT 2

Après avoir ajouté le nouveau code il fonctionne, mais comment pourrais-je assigner à une variable $?

Répondre

0

Voir l'exemple dans la documentation php: 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(); 
+0

merci. une idée sur la façon de l'assigner à une variable? – Drew

+0

ce que vous entendez par assigner à une variable, simplement déclarer des variables, puis lier à l'ensemble de résultats en utilisant bind_result et call fetch, les variables contiennent les valeurs de la ligne. Vous devriez d'abord parcourir la documentation. –

Questions connexes