Maison >base de données >tutoriel mysql >Pourquoi « Erreur fatale : [] Opérateur non pris en charge pour les chaînes » se produit-il dans les mises à jour de la base de données PHP ?

Pourquoi « Erreur fatale : [] Opérateur non pris en charge pour les chaînes » se produit-il dans les mises à jour de la base de données PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-21 13:03:10925parcourir

Why Does

Erreur fatale : [] opérateur non pris en charge pour les chaînes

Lorsque vous rencontrez l'erreur « Erreur fatale : [] opérateur non pris en charge pour les chaînes, " cela signifie généralement que vous essayez d'utiliser la syntaxe push de tableau sur une variable de chaîne. Ce comportement n'est pas autorisé dans les langages de programmation comme PHP.

Dans votre cas spécifique, vous attribuez les résultats d'une requête de base de données à des tableaux séparés, puis essayez de mettre à jour la base de données avec une requête telle que :

$wrotesql = "UPDATE service_report SET  name ='$name' , $date = '$date',$text = '$text[$nro]', ser_date = '$date2[$nro]' WHERE something = '$something')";

Cependant, vos variables $name, $date, $text et $date2 sont actuellement des chaînes, vous essayez donc essentiellement d'attribuer une chaîne à un index spécifique dans un string.

Pour résoudre ce problème, vous devez vous assurer que vos variables sont des tableaux plutôt que des chaînes. Remplacez les affectations dans votre boucle par :

$name = $row['name'];
$date = $row['date'];
$text = $row['text'];
$date2 = $row['date2'];

Cela attribuera les valeurs réelles de la requête de base de données à des variables de chaîne individuelles, et vous pourrez utiliser la syntaxe push du tableau pour $text et $ date2 sans aucune erreur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn