PHP
Häufige Fehler
Suche…
Unerwartetes $ end
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\stack\index.php on line 4
Wenn Sie eine solche Fehlermeldung erhalten (oder manchmal unexpected $end
, abhängig von der PHP-Version), müssen Sie sicherstellen, dass Sie alle Anführungszeichen, Klammern, geschweiften Klammern, Klammern usw. verwendet
Der folgende Code erzeugte den obigen Fehler:
<?php
if (true) {
echo "asdf";
?>
Beachten Sie die fehlende geschweifte Klammer. Beachten Sie auch, dass die für diesen Fehler angezeigte Zeilennummer nicht relevant ist, da immer die letzte Zeile Ihres Dokuments angezeigt wird.
Rufen Sie fetch_assoc boolean auf
Wenn Sie eine Fehlermeldung wie diese erhalten:
Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\stack\index.php on line 7
Andere Variationen beinhalten etwas in der Art von:
mysql_fetch_assoc() expects parameter 1 to be resource, boolean given...
Diese Fehler bedeuten, dass entweder Ihre Abfrage (dies ist ein PHP / MySQL-Fehler) oder Ihre Referenzierung fehlerhaft ist. Der obige Fehler wurde durch den folgenden Code erzeugt:
$mysqli = new mysqli("localhost", "root", "");
$query = "SELCT * FROM db"; // notice the errors here
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
Um diesen Fehler zu "beheben", wird empfohlen, dass mysql stattdessen Ausnahmen auslöst:
// add this at the start of the script
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Dadurch wird stattdessen eine Ausnahme mit dieser viel hilfreicheren Nachricht ausgelöst:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELCT * FROM db' at line 1
Ein anderes Beispiel, das zu einem ähnlichen Fehler führen würde, ist, dass Sie einfach die falschen Informationen an die Funktion mysql_fetch_assoc
oder ähnliches übergeben haben:
$john = true;
mysqli_fetch_assoc($john, $mysqli); // this makes no sense??