Recherche…


Fin inattendue

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

Si vous obtenez une erreur comme celle-ci (ou parfois unexpected $end , en fonction de la version de PHP), vous devrez vous assurer que toutes les guillemets, toutes les parenthèses, toutes les accolades, etc. sont mis en correspondance.

Le code suivant a généré l'erreur ci-dessus:

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

Notez l'accolade manquante. Notez également que le numéro de ligne indiqué pour cette erreur est sans importance - il affiche toujours la dernière ligne de votre document.

Appelez fetch_assoc sur booléen

Si vous obtenez une erreur comme celle-ci:

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

D'autres variantes incluent quelque chose comme:

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

Ces erreurs signifient qu'il y a quelque chose qui ne va pas dans votre requête (il s'agit d'une erreur PHP / MySQL) ou dans votre référencement. L'erreur ci-dessus a été générée par le code suivant:

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

Pour "corriger" cette erreur, il est recommandé de faire des exceptions à mysql à la place:

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

Cela va alors lancer une exception avec ce message beaucoup plus utile à la place:

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

Un autre exemple qui produirait une erreur similaire est celui où vous avez simplement donné les mauvaises informations à la fonction mysql_fetch_assoc ou similaire:

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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow