Ten błąd pojawia się podczas próby użycia krótkiej składni push tablicy na łańcuchu.
Na przykład to
$foo = 'foo';
$foo[] = 'bar'; // ERROR!
Zaryzykuję przypuszczenie, że jeden lub więcej Twoich $name
, $date
, $text
lub $date2
zmienne zostały zainicjowane jako ciąg.
Edytuj: Patrząc ponownie na twoje pytanie, wygląda na to, że tak naprawdę nie chcesz ich używać jako tablic, ponieważ traktujesz je jako ciągi dalej.
Jeśli tak, zmień przypisania na
$name = $row['name'];
$date = $row['date'];
$text = $row['text'];
$date2 = $row['date2'];
Wygląda na to, że są pewne problemy z PHP 7 i kodem używającym pustego indeksu składnia wypychania tablicy.
Aby było jasne, te działają dobrze w PHP 7+
$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry
$emptyArray = []; // creates an array
$emptyArray[] = 'value'; // pushes in an entry
Co nie działa próbuje użyć pustego indeksu wciśnij dowolną zmienną zadeklarowaną jako ciąg, liczbę, obiekt itp., tj.
$declaredAsString = '';
$declaredAsString[] = 'value';
$declaredAsNumber = 1;
$declaredAsNumber[] = 'value';
$declaredAsObject = new stdclass();
$declaredAsObject[] = 'value';
Wszystkie skutkują błędem krytycznym.