Comprendre l'erreur : "Erreur fatale : opérateur [] non pris en charge pour les chaînes"
Lorsque vous essayez de modifier des données dans une base de données, vous a rencontré l'erreur "[] opérateur non pris en charge pour les chaînes". Cette erreur indique une tentative d'utilisation de la syntaxe push de tableau court sur une chaîne.
Cause première :
En examinant votre code, il semble que vous en ayez initialisé un ou plusieurs. des variables ($name, $date, $text, $date2) sous forme de chaînes. Cela ressort clairement de l'affectation des valeurs $row[''], qui sont des valeurs de chaîne.
Solution :
Pour résoudre ce problème, vous devez modifier les affectations à :
$name = $row['name']; $date = $row['date']; $text = $row['text']; $date2 = $row['date2'];
Cela garantira que ces variables sont traitées comme des chaînes, plutôt que tableaux.
Comprendre la rigueur de PHP 7 :
PHP 7 a des contrôles plus stricts pour l'utilisation de la syntaxe push de tableau à index vide. Il générera désormais une erreur si vous essayez de l'utiliser sur des variables qui ne sont pas des tableaux.
Exemples de syntaxe push de tableau à index vide valide en PHP 7 :
$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds an entry $emptyArray = []; // creates an array $emptyArray[] = 'value'; // pushes in an entry
Cependant, le ce qui suit entraînera une erreur fatale :
$declaredAsString = ''; $declaredAsString[] = 'value'; $declaredAsNumber = 1; $declaredAsNumber[] = 'value'; $declaredAsObject = new stdclass(); $declaredAsObject[] = 'value';
En suivant ces directives, vous pouvez éviter cette erreur et assurer le bon fonctionnement de la modification de votre base de données code.
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!