Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd krytyczny:operator [] nie jest obsługiwany dla ciągów

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa funkcja LEFT() w MySQL

  2. Kompletny system rejestracji użytkowników z wykorzystaniem PHP i bazy danych MySQL

  3. Jak stworzyć bazę danych w MySQL

  4. Jak uzyskać pierwszy rekord w każdej grupie w MySQL?

  5. Przerywanie bezczynnych połączeń mysql