mysql_assoc

mr.knowledge

Grünschnabel
Folgende Meldung kommt bei untenstehenden Script:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/apache/htdocs/development/php/verify.php on line 17
Sorry, aber dieser Name ist leider nicht bekannt !

Warum?

<?php

session_start();
include('var.inc.php');
if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}
$conn = @mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);
$query = "SELECT pass FROM zugriff WHERE name = '".$username."'";
$result = mysql_query($query,$conn);
$zeileholen = mysql_fetch_array($result,mysql_assoc);

mysql_close($conn);
if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}
if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}

session_register('username');

header ("Location:admin.php");
?>
 
mach einfach mal:
PHP:
<?php
session_start();
include('var.inc.php');
if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}
$conn = @mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);
$query = "SELECT pass FROM zugriff WHERE name = '".$username."'";
$result = mysql_query($query,$conn) or die(mysql_error());
# mit or die ist das im übrigen übersichtlicher als mit if ...
$zeileholen = mysql_fetch_array($result,mysql_assoc);

mysql_close($conn);
if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}
if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}
session_register('username');
header ("Location:admin.php");
?>
und schau dann mal ob er motzt.. das hilft vieleicht schon weiter
tob
 
Jetzt kommt ne andere Fehlermeldung

So klappt das ja schonma ganz gut, aber wenn ich den richtigen usernamen eingeben sagt der trotzdem:

Sorry, aber dieser Name ist leider nicht bekannt !

Obwohl der Username korrekt im Feld username der Tabelle member steht, was nu...



<?php
session_start();
include('var.inc.php');
if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}
$conn = @mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}
mysql_select_db($dbname,$conn);




$query = "SELECT pass FROM member WHERE username = '".$username."'";



$result = mysql_query($query,$conn) or die(mysql_error());
# mit or die ist das im übrigen übersichtlicher als mit if ...
$zeileholen = mysql_fetch_array($result,mysql_assoc);

mysql_close($conn);
if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}
if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}
session_register('username');
header ("Location:admin.php");
?>
 
Wenn der Benutzer name aus 2 worten besteht zb Hans Wurst dann muss im querry username = 'Hans Wurst' (also mit Anführungszeichen) stehen sons t sucht er glaub ich nur nach Hans, und du könntest mal mit mysql_num_rows($result) überprüfen ob dir überhaubt eine Zeile zurückgegeben wird. Vieleicht steht der name auch Falsch in der Datenbank....

tob
 
Zurück