supplied argument is not a valid MySQL result

visiondpc

Erfahrenes Mitglied
Nabend zusammen.

Eine ganz kurze Frage hab ich mal. ich glaub lngsam ich hab Tomaten auf den Augen weil ich den Fehler nicht finde.

Ich kriege bei dem folgenden eigentlich recht einfachem Script immer die Fehlermeldung:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in G:\Programme\xampp\htdocs\logintest.php on line 17
Was genau soll mir die Meldung sagen? In der SQL Abfrage finde ich keinen Fehler.

PHP:
<?php
require ('config.php');
if(isset($_POST['submit']))
{
    mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db($db_datenbank);
	$user=$_POST['user'];
	$pass=$_POST['pass'];
    $query=mysql_query("SELECT pass FROM login WHERE user=$user");
    if(mysql_num_rows($query)==1)
    {
        echo 'Willkommen '.$_POST['user'];
       
    }
    else
    {
        echo 'Der eingegebene Benutzername oder das Passwort ist nicht korrekt.';
    }
}
else
{
?>
<form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
    <input name="user" type="text"> Benutzername<br>
    <input name="pass" type="password"> Passwort<br>
    <input name="submit" type="submit" value="anmelden">
</form>
<?php
}
?>
 
mach mal hinter $query=mysql_query("SELECT pass FROM login WHERE user=$user") or die (mysql_error ());
Dann bekommtst du eine geneuauere Fehlermeldung.
Ich denke aber es liegt am
SELECT pass FROM login WHERE user=$user es müsste SELECT pass FROM login WHERE user='$user' heissen.
 
Das abschließende Semikolon ist nur zur Trennung von mehreren Anweisungen in einer Abfrage notwendig und kann sonst auch weggelassen werden. Die explizite Auszeichnung der Zeichenkette ist jedoch notwendig, da der übergebene Wert sonst missverstanden werden kann.
 
Zurück