Szukaj…


Nieoczekiwany koniec $

Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\stack\index.php on line 4

Jeśli pojawi się taki błąd (lub czasem unexpected $end , w zależności od wersji PHP), musisz upewnić się, że dopasowałeś wszystkie odwrócone przecinki, wszystkie nawiasy, wszystkie nawiasy klamrowe, wszystkie nawiasy itp.

Poniższy kod spowodował powyższy błąd:

<?php
if (true) {
    echo "asdf";
?>

Zwróć uwagę na brakujący nawias klamrowy. Zauważ również, że numer wiersza pokazany dla tego błędu nie ma znaczenia - zawsze pokazuje ostatni wiersz dokumentu.

Wywołaj fetch_assoc na boolean

Jeśli pojawi się taki błąd:

Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\stack\index.php on line 7

Inne odmiany obejmują coś w stylu:

mysql_fetch_assoc() expects parameter 1 to be resource, boolean given...

Błędy te oznaczają, że coś jest nie tak z zapytaniem (jest to błąd PHP / MySQL), jak iz odwołaniem. Powyższy błąd został wygenerowany przez następujący kod:

$mysqli = new mysqli("localhost", "root", "");
    
$query = "SELCT * FROM db"; // notice the errors here
$result = $mysqli->query($query);
    
$row = $result->fetch_assoc();

Aby „naprawić” ten błąd, zaleca się, aby mysql zgłaszał wyjątki:

// add this at the start of the script
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

Spowoduje to wygenerowanie wyjątku z tą o wiele bardziej przydatną wiadomością:

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

Innym przykładem, który spowodowałby podobny błąd, jest po prostu podanie niewłaściwych informacji funkcji mysql_fetch_assoc lub podobnej:

$john = true;
mysqli_fetch_assoc($john, $mysqli); // this makes no sense??


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow