2017-04-16 3 views
0

Ich möchte $contact_id zurückzukehren, aber alles, was ich bekommen ist:Warum funktioniert mein mysqli_fetch_assoc nicht?

success. 
the user id is 

Zum Beispiel in meinem insert.htm gebe ich $ CheckContact: enter image description here

Es zurückkehren sollte: the user id is 11. Das ist meine user Tabelle:

enter image description here

Und wenn ich checkcontact.php wieder in meiner Browser-Adressleiste klicken dann erhalte ich:

the user id is 23 

Es ist immer 23, egal was $CheckContact ist. Können Sie mir sagen, was los ist? Hier ist mein Code:

<?php 

require('dbConnect.php'); 

$CheckContact = $_POST['phonenumber']; 
$sql = "SELECT * FROM user WHERE username = '$CheckContact'"; 
$result = mysqli_query($con, $sql); 
$check = mysqli_fetch_array($result); 
//if $CheckContact is in the user table... 
if(isset($check)) { 

    echo 'success.' . "<br>"; 

    // get the associated rows of $CheckContact 
     $row = mysqli_fetch_assoc($result); 
    // get the associated user_id in that row 

     $contact_id = $row["user_id"]; 
     echo "the user id is ", $contact_id; 

} 
//if $CheckContact is NOT in the user table... 
else { 

    echo 'failure'; 
    } 

?> 
+1

Haben Sie Fehlerberichte in PHP eingeschaltet? –

+1

Können Sie Ihr Formular von insert.htm freigeben? –

+0

Dieses Problem kann auftreten, wenn Ihre Abfrage fehlschlägt. '$ check' wäre null und übergibt die Überprüfung von' isset', weil es jetzt gesetzt ist. Stattdessen verwenden Sie '! empty' –

Antwort

0
why dont you use this: 
<?php 
$sql="Select query"; 
       $result=mysqli_query($con,$sql); 
       while($rws=mysqli_fetch_assoc($result)){ 
       ?> 
to print all data 
<?php 
} 
?> 

leer versuchen() für $ dies überprüfen zeigt an, ob die Variable NULL-Werte enthält oder nicht

2

Wenn ich den Code ändern zu:

<?php 

require('dbConnect.php'); 

$CheckContact = $_POST['phonenumber']; 
$sql = "SELECT * FROM user WHERE username = '$CheckContact'"; 
$result = mysqli_query($con, $sql); 
$num_rows = mysqli_num_rows($result); 

if($num_rows >= 1) { 

etc.... 

Es funktioniert in Ordnung.