Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kesalahan fatal:[] operator tidak didukung untuk string

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan daftar tampilan MySQL?

  2. Cara Mengatur Failover Otomatis untuk Database MySQL Moodle

  3. Peningkatan Otomatis setelah dihapus di MySQL

  4. Looping Over Hasil Set di MySQL

  5. Wizard Kerangka Entitas lumpuh di MySQL