Moin,
Wenn man mit $mysqli->multi_query($Query); eine multi_query ausführt, kann man dann mit $mysql->error auf eventuell auftretende Fehler zugreifen, wie es bei der normalen query der Fall ist? Also einfach if(!$Result) { echo $mysqli->error; } ?
Probier es doch aus. Theoretisch sollte das funktionieren, wenn ich die Doku richtig verstanden habe:
mysqli->error()
liefert die letzte Fehlermeldung, für die letzte Mysqli-Anweisung.Grüße Marco
Nun, ich habe es ja hiermit probiert:
<?php
$test = new mysqli("localhost","root","","test");
$test->query("SELECT gibtsnicht FROM gibtsauchnicht WHERE id = 4");
echo $test->error;
echo "<br><br>";
$test->multi_query("SELECT gibtsnicht FROM gibtsauchnicht WHERE id = 4;SELECT gibtsnicht2 FROM gibtsauchnicht3 WHERE test = 4");
echo $test->error;
?>
Allerdings, funktioniert das nur eingeschränkt. Klar, beim ersten gibts mir den richtigen Fehlernamen aus, allerdings sollte es doch beim zweiten also bei der Multi_query 2mal eine Fehlermeldung ausgeben oder verstehe ich das falsch? In dem Fall sollte einmal ausgegeben werden, dass es gibtsnicht in gibtsauchnicht nicht gibt und gibtsnicht2 in gibtsauchnicht3 nicht vorhanden ist. Auch ein while($test->next_result()) hat hier nichts gebracht, um über results drüberzugehen, da ja keine results vorhanden sind.
Was mache ich falsch?