Mysql
 sql >> база данни >  >> RDS >> Mysql

Фатална грешка:операторът [] не се поддържа за низове

Получавате тази грешка, когато се опитвате да използвате синтаксиса за натискане на кратък масив върху низ.

Например това

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

Бих рискувал да предположа, че едно или повече от вашите $name , $date , $text или $date2 променливите са инициализирани като низ.

Редактиране: Поглеждайки отново към въпроса си, изглежда, че всъщност не искате да ги използвате като масиви, тъй като ги третирате като низове по-надолу.

Ако е така, променете вашите задачи на

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

Изглежда има някои проблеми с PHP 7 и код, използващ empty-index синтаксис за натискане на масив.

За да стане ясно, теработят добре в PHP 7+

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

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

Какво не вършит се опитва да използва empty-index натиснете върху всяка променлива, декларирана като низ, число, обект и т.н., т.е.

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

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

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

Всичко води до фатална грешка.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конвертирате UTC дата в местна часова зона в MySql Изберете заявка

  2. В MySQL заявките защо да използвате присъединяване вместо къде?

  3. Какво представлява MySQL еквивалентът на функцията CHOOSE() на SQL Server?

  4. MySQL INSERT IF (персонализирани оператори if)

  5. Получаване на всички родителски редове в една SQL заявка