Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi nghiêm trọng:toán tử [] không được hỗ trợ cho chuỗi

Bạn gặp lỗi này khi cố gắng sử dụng cú pháp đẩy mảng ngắn trên một chuỗi.

Ví dụ, điều này

$foo = 'foo';
$foo[] = 'bar'; // ERROR!

Tôi mạo hiểm đoán rằng một hoặc nhiều $name của bạn , $date , $text hoặc $date2 các biến đã được khởi tạo dưới dạng một chuỗi.

Chỉnh sửa: Xem xét lại câu hỏi của bạn, có vẻ như bạn không thực sự muốn sử dụng chúng dưới dạng mảng vì bạn đang coi chúng như các chuỗi ở phía dưới.

Nếu vậy, hãy thay đổi nhiệm vụ của bạn thành

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

Có vẻ như có một số vấn đề với PHP 7 và mã sử dụng rỗng-index cú pháp đẩy mảng.

Để làm rõ hơn, những điều này hoạt động tốt trong PHP 7+

$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry

$emptyArray = []; // creates an array
$emptyArray[] = 'value'; // pushes in an entry

Điều gì không hoạt động đang cố gắng sử dụng trống-chỉ mục đẩy vào bất kỳ biến nào được khai báo dưới dạng chuỗi, số, đối tượng, v.v., tức là

$declaredAsString = '';
$declaredAsString[] = 'value';

$declaredAsNumber = 1;
$declaredAsNumber[] = 'value';

$declaredAsObject = new stdclass();
$declaredAsObject[] = 'value';

Tất cả đều dẫn đến lỗi nghiêm trọng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql cập nhật hai bảng cùng một lúc

  2. Hướng dẫn về MySQL - Định cấu hình và quản lý SSL trên máy chủ MySQL của bạn

  3. Lấy id của hàng đã chèn bằng C #

  4. Cách định dạng số bằng dấu phẩy trong MySQL

  5. Cách xóa các ký tự hàng đầu không mong muốn khỏi chuỗi trong MySQL