PHP
Vanliga fel
Sök…
Oväntat slut på $
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\stack\index.php on line 4
Om du får ett sådant fel (eller ibland unexpected $end
, beroende på PHP-version), måste du se till att du har matchat alla inverterade komma, alla parenteser, alla lockiga hängslen, alla parenteser etc.
Följande kod gav ovanstående fel:
<?php
if (true) {
echo "asdf";
?>
Observera den saknade lockiga stag. Observera också att radnumret som visas för det här felet inte är relevant - det visar alltid den sista raden i ditt dokument.
Ring fetch_assoc på boolean
Om du får ett sådant fel:
Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\stack\index.php on line 7
Andra variationer inkluderar något i linje med:
mysql_fetch_assoc() expects parameter 1 to be resource, boolean given...
Dessa fel innebär att det är något fel med antingen din fråga (detta är ett PHP / MySQL-fel) eller din referens. Ovanstående fel producerades med följande kod:
$mysqli = new mysqli("localhost", "root", "");
$query = "SELCT * FROM db"; // notice the errors here
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
För att "fixa" det här felet rekommenderas att undantag från mysql kastas:
// add this at the start of the script
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Detta kommer då att kasta ett undantag med detta mycket mer användbara meddelande istället:
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
Ett annat exempel som skulle ge ett liknande fel är där du helt enkelt gav fel information till funktionen mysql_fetch_assoc
eller liknande:
$john = true;
mysqli_fetch_assoc($john, $mysqli); // this makes no sense??