scriptabbruch wenn query keine treffer liefern kann

methodus

Erfahrenes Mitglied
ich hab mir nen kleines script gebastelt und funktioniert eigentlich einwandfrei, das problem ist aber dass bei mir fehlermeldungen kommen sobald mySQL keine treffer findet.

fehlermeldung sieht etwa so aus: unable to jump to row 0 in etc. etc.

eine abfrage, ob fehler aufgetreten sind, habe ich schon drin und funktioniert einwandtuti, nur ist es ja für mySQL kein richtiger fehler wenn er nichts findet.

wie kann ich also in php abfragen ob ergebnisse geliefert werden könnn oder nicht?



PHP:
$sid = session_id();
$query = "SELECT username,admin,email,time FROM user WHERE userID = '$sid'";
if($res = mysql_query($query)){
    $username = mysql_result($res,0,'username');
    $admin = mysql_result($res,0,'admin');
    $email = mysql_result($res,0,'email');
    $online = mysql_result($res,0,'time');
    $time = time();
}
else{
echo "Fehler in Verarbeitung!";
}

PS: der querystring funktioniert! sobald eine gültige id da is klappts ja ordentlich, nur halt wenn keine id da ist nicht.
 
empty() ist die lösung: so sieht dann das script so aus:

PHP:
$sid = session_id();
$query = "SELECT username,admin,email,time FROM user WHERE userID = '$sid'";
if($res = mysql_query($query)){
  if(!empty($res)){
    $username = mysql_result($res,0,'username');
    $admin = mysql_result($res,0,'admin');
    $email = mysql_result($res,0,'email');
    $online = mysql_result($res,0,'time');
    $time = time();
  }
}
else{
echo "Fehler in Verarbeitung!";
}

dann klappt der spaß

so da ich mir grad selber geholfen habe, hoffe ich dass ich noch anderen helfen konnte *g* :p
 
Moin

Hier noch mal meine Methode.

PHP:
$sql = "SELECT * FROM TTabelle";

$result = mysql_query($sql, $conn);

if(mysql_num_rows($result)==0)//Nummer der gefundenen Datensätze
    {
	$userstat = 0;
     }
else
{
 //Dein ELSE TEIL

}
 
Zurück