Anda mendapatkan kesalahan ini saat mencoba menggunakan sintaks push array pendek pada sebuah string.
Misalnya, ini
$foo = 'foo';
$foo[] = 'bar'; // ERROR!
Saya berani menebak bahwa satu atau lebih dari $name
. Anda , $date
, $text
atau $date2
variabel telah diinisialisasi sebagai string.
Sunting: Melihat kembali pertanyaan Anda, sepertinya Anda tidak benar-benar ingin menggunakannya sebagai array karena Anda memperlakukannya sebagai string di bagian bawah.
Jika demikian, ubah tugas Anda menjadi
$name = $row['name'];
$date = $row['date'];
$text = $row['text'];
$date2 = $row['date2'];
Tampaknya ada beberapa masalah dengan PHP 7 dan kode menggunakan indeks kosong sintaks push array.
Untuk memperjelas, ini berfungsi dengan baik di PHP 7+
$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry
$emptyArray = []; // creates an array
$emptyArray[] = 'value'; // pushes in an entry
Apa yang tidak berhasil sedang mencoba menggunakan indeks kosong push pada variabel apa pun yang dideklarasikan sebagai string, angka, objek, dll, yaitu
$declaredAsString = '';
$declaredAsString[] = 'value';
$declaredAsNumber = 1;
$declaredAsNumber[] = 'value';
$declaredAsObject = new stdclass();
$declaredAsObject[] = 'value';
Semua mengakibatkan kesalahan fatal.