Problem mit SQL-Anweisungen

Sasser

Erfahrenes Mitglied
Hallo alle zusammmen!

Ich versuche schon seit einiger Zeit folgende SQL Befehle auszuführen, aber er führt immer nur das aus, was an 1. Stelle steht!? Also einzelt funktionieren Sie, nur wenn ich Sie hintereinander ausführen will gehts einfach nicht!

Aber warum verstehe ich nicht!?

PHP:
$result = mysql_query("Select * FROM user WHERE `alliance` = '$tag'", $db);
while($row=mysql_fetch_assoc($result))
{
deleteallianceuser($row[user],$tag,$user);
}

$result = mysql_query("Select * FROM invite WHERE `tag` = '$tag'", $db);
while($row=mysql_fetch_assoc($result))
{
deleteinvite($row[user],$tag,$user);
}


mysql_query("DELETE FROM alliances WHERE `tag` = '$tag'", $db);
 
Auf den ersten Blick leider nichts erkennbar. Gibt es denn keine Fehlermeldungen? Ist das Error Reporting evtl. aus? Was geschieht davor denn noch so? Testausgaben gemacht?
 
Das GAnze ist in einer Funktion!

PHP:
$db = connect_db();
$result1 = mysql_query("Select * FROM user WHERE `alliance` = '$tag'", $db);
while($row1=mysql_fetch_assoc($result1))
{
deleteallianceuser($row1[user],$tag,$user);
}

$result2 = mysql_query("Select * FROM invite WHERE `tag` = '$tag'", $db);
while($row2=mysql_fetch_assoc($result2))
{
deleteinvite($row2[user],$tag,$user);
}


mysql_query("DELETE FROM alliances WHERE `tag` = '$tag'", $db);
header("Location: http://" . $_SERVER["HTTP_HOST"] . "/game/index.php?action=alliance&city=$city");

mysql_close($db);
 
Also ehrlich, du bist doch nun schon etwas länger in diesem Forum. Lass dir doch bitte einfach mal mysql_error() ausgeben. Und schalte error_reporting() an.
 
Ich war mal so frei und hab das Thema mal etwas treffender bezeichnet.

MFG

Sascha
 
Danke!

Also die erste WHILE - Schleife funktioniert, nur die nächte und das DELETE wird nicht mehr ausgeführt! Aber warum?

Und wenn ich nun die 2. Schleife oben hin nehme, wird die 1. nicht mehr ausgeführt! Also er führt immer nur eine Schleife aus!

Aber wie kann ich es schaffen, dass 2. Schleifen hintereinander ausgeführt werden?
 
ja, teste das mal mit:

PHP:
echo mysql_num_rows($result);

ansonsten gäbe es (denke ich) noch die Möglichkeit, dass Deine Array-Index-Variable (hier: $user) keinen Wert enthält oder dieser Wert kein Array-Index ist. Aber auch das müsste man mit error_reporting(E_ERROR) sehen...

Es wäre wirklich sehr hilfreich, wenn Du mal die ganze Funktion hier postest und eventuell auch mal sagst, ob Du nun error_reporting an hast oder nicht ;-)
 
Zuletzt bearbeitet:
Hallo nochmal!

Also der Fehler tritt immernoch auf! Komisch ist nur, wenn ich die Schleife in eine externen Datei ausführe, dann funktioniert es, sobald ich aber den Code wieder in meinen Quelltext einbringe wird es ignoriert und nicht ausgeführt!? :confused:

PHP:
$db = connect_db();
$resulte = mysql_query("Select * FROM invite WHERE `user` = '$user'", $db);
while($rowe=mysql_fetch_assoc($resulte))
{
cancelalliance($rowe[tag],$user);
}
mysql_close($db);
 
Zurück