2017-12-03 4 views
-3

Mein Code scheint nicht, wie es funktioniert ... Ich habe keine Ahnung, warum, obwohl die Datenbank die richtigen Daten enthält, ist es 0php Datenbank nicht wegen der Anzahl der Zeilen Arbeits Code

Rückkehr Bitte helfen Sie mir zu wissen, was mit Code falsch ist?

id und username sind von android studio genommen, ich habe sie oft überprüft und sie sind korrekt. id integer ist, Benutzername ist varchar

<?php 
require "database_init.php"; 

$restid = $_POST["_id"]; 
$username = $_POST["_username"]; 

echo "username is $username and restid is $restid "; 

$int = (int)$restid; 

$sql_query_1 = "select id from user_fav where rest_id= $int AND username='".$username."'"; 

$result = mysqli_query($conn,$sql_query_1); 

if($result) { 
    echo "the query worked"; 

    if (mysql_num_rows($result) > 0) { 
     echo "1"; 
    } else 
     echo "0"; 
} else 
    echo "the query didnt work"; 

?> 
+0

http://php.net/manual/mysqli.quickstart.prepared-statements.php – Phil

+0

Bitte versuchen, das gleiche Zitat in der Abfragezeile zu verwenden. Entfernen Sie das ". Oder fügen Sie es auf der Variablen $ int hinzu. Aber wenn Sie es hinzufügen, können Sie verwenden" so versucht PHP nicht zu finden und andere Variablen in der Zeichenfolge zu ersetzen. – Demigod

+0

Ist "echo" Benutzername $ Benutzername und Resid ist $ restid ";' führen zu dem, was Sie erwarten würden? – Phil

Antwort

-2
require "database_init.php"; 

$restid = (isset($_POST["_id"])) ? $_POST["_id"] : ''; 

$username = (isset($_POST["_username"])) ? $_POST["_username"] : ''; 

echo "username is {$username} and restid is {$restid}"; 

$int = (int)$restid; 

$sql_query_1 = "select id from user_fav where rest_id = '$int' AND username = '$username'"; 

$result = mysqli_query($conn, $sql_query_1); 

if($result) { 

    echo "the query worked"; 

    if (mysqli_num_rows($result) > 0) { 

     echo "1"; 

    } else { 

     echo "0"; 

    } 

} else { 

    echo "the query didn't work"; 

}