Frage zu einem Rückgabewert

SantaCruze

Erfahrenes Mitglied
Im folgenden Code aus einem PHP Script überprüft die SQL Anweisung ob die Anfrage bearbeitet worden ist, anhand der res_id. Nun möchte ich aber nicht anzeigen lassen ob eine Verbindung zu stande gekommen ist sondern ob wirklich unter login = '$_SESSION[user_nickname]' ein wert gefunden wurde. Womit kann ich dies bewerkstelligen ?

PHP:
$sql= "SELECT name , d1, d2,d3 ,d4 ,d5 ,d6 ,d7 ,d8 ,d9 ,d10 FROM spielwelt where login = '$_SESSION[user_nickname]'" ;
if (!$res_id = mysql_query ($sql))
   die('War wohl was falsch');
 
Danke für die Info :) Ich habs nun mit dem Ratschlag so gelöst:


PHP:
$sql= "SELECT name , d1, d2,d3 ,d4 ,d5 ,d6 ,d7 ,d8 ,d9 ,d10 FROM spielwelt where login = '.$_SESSION[user_nickname].'" ;
if ($sql = mysql_affected_rows () <= 0)
   die('Keine Datensätze vorhanden');

Hoffe das ist so in ordnung, auf jedenfall zeigt er mir sonst keine Fehler an :)
 
Nein, dass ist nicht okay, denn dann zeigt er dir immer an, dass keine Datensätze vorhanden sind, weil mysql_affected_rows immer 0 liefern wird. Eigentlich müsste er sogar einen Fehler liefern, da du diese Abfrage niemals zum SQL Server sendest.
Du müsstest also zunächst mysql_query($sql); machen und kannst anschließend eine Abfrage der affected_rows machen

PHP:
$sql= "SELECT name , d1, d2,d3 ,d4 ,d5 ,d6 ,d7 ,d8 ,d9 ,d10 FROM spielwelt where login = '.$_SESSION[user_nickname].'" ;
$result = mysql_query($sql);
if (mysql_affected_rows ($result) = 0)
   die('Keine Datensätze vorhanden');
 
Also ich hab deinen Code ausprobiert allerdings kriege ich nun "Fatal error: Can't use function return value in write context in C:\xampp\xampp\htdocs\gms\content\defense.php on line 6" als Fehlermeldung.
 
Welche ist die Zeile 6?

EDIT: Habe meinen Fehler gesehen... sollte vielleicht schlafen gehen ;) Bei einer IF-Abfrage müssen natürlich 2 Gleichheitszeichen hin:

PHP:
$sql= "SELECT name , d1, d2,d3 ,d4 ,d5 ,d6 ,d7 ,d8 ,d9 ,d10 FROM spielwelt where login = '.$_SESSION[user_nickname].'" ;
$result = mysql_query($sql);
if (mysql_affected_rows($result) == 0)
   die('Keine Datensätze vorhanden');
 
Entweder bin ich noch zu müde oder einfach nur zu blöd. Ich verstehe jetzt deine Frage nicht wirklich.
Willst du einfach nur wissen ob ein Datensatz für eine bestimme Session in der Datenbank vorhanden ist?
 
Zurück