MySQLi MultyQuery und Delete

dragonfly77

Mitglied
Hi zusammen,

ich hänge an einem kleinen Script. Ich möchte Daten aus 2 verschiedenen Tabellen wieder löschen. Leider klappt das irgendwie nicht.
Mit Sicherheit mache ich irgendwas falsch, aber komme nicht drauf was:

PHP:
// Erstes Statement zum löschen der Antworten.
$sql = "DELETE FROM shoutsreplies WHERE `shoutId` = '".$id."'"; 
		
// Zweites Statement zum löschen des Themas.
$sql .= "DELETE FROM shouts WHERE `id` = '".$id."'"; 
	if ($mysqli->multi_query( $sql ))
	   {
	   while ($mysqli->next_result()) 
	        {
	        echo "OK";
	         }
                   }
	else
	{
	echo "Not OK";
	}

$mysqli->close();

Er gibt mir immer Not OK aus, Daten werden NICHT gelöscht.
 
Du musst die einzelnen Queries mit einem ; abschliessen. Mindestesn alle wo nachher noch ein weiteres kommt. In der PHP-Doku ist beim letzte jeweils kein ; dabei. Sollte aber mMn auch gehen wenn das Letzte mit einem ; abgeschlossen wird.

Zudem vergleichst du Zahlenmit Texten. Ich geh mal stark davon aus dass $id eine Zahl ist.
PHP:
// Erstes Statement zum löschen der Antworten.
$sql = "DELETE FROM shoutsreplies WHERE `shoutId` = {$id};"; 
        
// Zweites Statement zum löschen des Themas.
$sql .= "DELETE FROM shouts WHERE `id` = {$id};";
 

Neue Beiträge

Zurück