Du får denne fejl, når du forsøger at bruge den korte array-push-syntaks på en streng.
For eksempel denne
$foo = 'foo';
$foo[] = 'bar'; // ERROR!
Jeg vil risikere at gætte på, at en eller flere af dine $name
, $date
, $text
eller $date2
variabler er blevet initialiseret som en streng.
Rediger: Når du ser på dit spørgsmål igen, ser det ud til, at du faktisk ikke vil bruge dem som arrays, da du behandler dem som strenge længere nede.
Hvis det er tilfældet, skal du ændre dine opgaver til
$name = $row['name'];
$date = $row['date'];
$text = $row['text'];
$date2 = $row['date2'];
Det ser ud til, at der er nogle problemer med PHP 7 og kode ved hjælp af empty-index array push-syntaks.
For at gøre det klart, disse fungerer fint i PHP 7+
$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry
$emptyArray = []; // creates an array
$emptyArray[] = 'value'; // pushes in an entry
Hvad virker ikke forsøger at bruge empty-index tryk på enhver variabel, der er erklæret som en streng, tal, objekt osv., dvs.
$declaredAsString = '';
$declaredAsString[] = 'value';
$declaredAsNumber = 1;
$declaredAsNumber[] = 'value';
$declaredAsObject = new stdclass();
$declaredAsObject[] = 'value';
Alt sammen resulterer i en fatal fejl.