Maison > Article > développement back-end > Pourquoi est-ce que j'obtiens « Erreur fatale : opérateur [] non pris en charge pour les chaînes » en PHP ?
"Erreur fatale : opérateur [] non pris en charge pour les chaînes" en PHP
Lors de l'exécution d'une requête SQL et de la tentative d'enregistrement des informations récupérées dans un tableau, les développeurs rencontrent souvent l'erreur : "Erreur fatale : opérateur [] non pris en charge pour les chaînes." Ce problème est dû à une utilisation incorrecte de la syntaxe push du tableau ([]) sur les chaînes.
Le code en question démontre la récupération de données à partir d'une base de données, où les résultats sont stockés dans des tableaux $name, $ date, $texte et $date2. Cependant, lors de la tentative de mise à jour de la base de données avec des informations modifiées, l'erreur se produit.
Le code a été initialisé pour utiliser des tableaux pour stocker les données récupérées, mais il est en fait traité comme des chaînes et utilisé dans la requête comme $text[$nro] et $date2[$nro]. Pour résoudre ce problème, la syntaxe push du tableau doit être remplacée par une affectation de chaîne, comme indiqué ci-dessous :
<code class="php">$name = $row['name']; $date = $row['date']; $text = $row['text']; $date2 = $row['date2'];</code>
Remarque supplémentaire :
Dans PHP 7 et versions ultérieures , des contrôles plus stricts ont été imposés sur l'utilisation de la syntaxe push de tableau à index vide. Le code doit être revu pour garantir que les variables sont déclarées sous forme de tableaux avant d'utiliser la syntaxe push []. Sinon, une erreur fatale en résultera.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!