2017-03-22 8 views
-1

Ich habe ein Problem bei der Verwendung von mysql_query. Ich bekomme immer das Ergebnis Null, auch wenn meine Abfrage korrekt ist, weil ich versucht habe, meine Abfrage direkt in der Datenbank auszuführen, und ich habe ein Ergebnis erhalten. Bitte siehe mein Code unten:Kann keine Daten mit mysql_query

<?php 
$username = $_POST['user']; 
$password = $_POST['pass']; 

$username = stripcslashes($username); 
$password = stripcslashes($password); 
$username = mysql_real_escape_string($username); 
$password = mysql_real_escape_string($password); 


mysql_connect("localhost","root",""); 
mysql_select_db("login"); 

$query = sprintf("select * from users where username='$username' and password='$password'"); 
$result = mysql_query($query); 

$row = mysql_fetch_array($result); 

if($row['username'] == $username && $row['password'] == $password) 
{ 
    echo "Login Successful! Welcome".$row['username']; 
} 
else{ 
    echo "Login Failed"; 
} 

?> 
+0

Bitte ignorieren Sie diese Frage. Habe schon eine Antwort bekommen. Danke für all deine Hilfe. Wirklich geschätzt. :) – sack

+0

Ich habe vergessen, den Datenbanknamen in der Abfrage hinzufügen, weshalb es ein Null-Ergebnis hat. – sack

+0

Bitte löschen Sie dann diese keine Wertfrage. – mickmackusa

Antwort

1

Sie verwenden sprintf aber Sie haben variable Platzhalter nicht bieten, und Sie Apostroph statt doppelte Anführungszeichen verwenden, um Variablen werden nicht analysiert werden.

1

Helfen Sie sich selbst, indem Sie ein Debugging hinzufügen.

Danach ...

$result = mysql_query($query); 

dieses Add ...

if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
} 

speichern und den Code erneut aus.

Lassen Sie uns wissen, wenn Sie eine mysql_error() erhalten.

+0

Ich weiß schon, was es falsch macht – sack

+0

@sack OK, bitte sagen Sie uns. –

+0

Ich habe vergessen, den Datenbanknamen in der Abfrage hinzuzufügen, weshalb das Ergebnis Null ist. Entschuldigung für diese blöde Frage. :) – sack

1
  1. Sie müssen überprüfen, ob die Abfrage erfolgreich beendet wurde.

    if (! $ Result) { drucken mysql_error(); sterben(); }

  2. mysql ist veraltet. Verwenden Sie PDO