2017-07-09 1 views
0

J'utilise une instruction préparée pour la connexion. le compilateur donne une erreur fatale dans la fonction résultat du magasin. Il ne sauve pas la ligne dans le résultat que je veux montrer. J'ai vu des solutions mais elles ne fonctionnent pas.Erreur fatale dans la déclaration préparée par la fonction php

if($_SERVER["REQUEST_METHOD"]=="POST"){ 
    $sql = "SELECT * FROM login where email=? and password=?"; 
    $stmt= $conn->prepare($sql); 

    $stmt->bind_param("ss", $_POST["email"],$_POST["password"]); 
    $stmt->execute(); 

    //$res=$result->num_rows; 
    $res=store_result(); 
    $row = mysqli_fetch_assoc($res); 

    if ($stmt->num_rows>0) { 

     // output data of each row 

     while($row['admin_role']==1) 
     { 
     $_SESSION["email"]=$email; 
     $_SESSION["id"]=$row['user_id']; 
     header('Location: index.html'); 
     exit; 
     } 
    } else { 
     echo "0 results"; 
    } 
} 

?> 
+2

Quelle est l'erreur fatale exactement comme je m'attends à ce que ce soit votre réponse? –

+0

$ res = store_result(); ce –

+0

Cest pas une erreur, thats une affectation de variable ... –

Répondre

1

Selon les docs here et le message d'erreur que vous obtenez le nom de la fonction doit être mysqli_store_result et non store_result.

Vous devrez également fournir votre variable de connexion qui regardant votre code apparaît être $conn il serait donc:

mysqli_store_result($conn) 

Sinon, je crois que vous pouvez l'appeler comme une méthode de classe directement en utilisant votre $conn variable comme ci-dessous:

$conn->store_result()