2013-12-12 2 views
0

Я запускаю PHP на сервере Windows 8.1 с IIS. У меня есть PHP-скрипт, и мне удалось включить отображение ошибок. Я нашел ошибку на этой строке.Ошибка синтаксиса PHP: Неожиданный ']'

$hr06status = mysqli_fetch_array(mysqli_query($connection, "SELECT status FROM hours WHERE hour = 6"))['status'];

Точная ошибка on line 14 Parse error: syntax error, unexpected '['

+6

Попробуйте '$ hr06status = mysqli_fetch_array (mysqli_query ($ connection," SELECT status FROM hours WHERE hour = 6 ")); $ hr06status = $ hr06status ['status']; ' –

+0

Спасибо! Это устраняет проблему, и она появляется на следующей строке. (У меня этот код 18 раз с разными номерами.) –

+0

Или попробуйте 'mysqli_fetch_object (...) -> status' – mario

ответ

3

Вы пытаетесь сделать array dereferencing, которая доступна только в PHP 5.4 или более поздней версии. Вероятно, вы используете версию старше этого, чтобы строка кода не работала.

Код в комментарии выше - это правильный способ написать его для вашей версии PHP.

+0

Pre PHP 5.4:' Попытка получить доступ к ключу массива, который не был определяется как доступ к любой другой неопределенной переменной: выдается сообщение об ошибке уровня E_NOTICE, и результат будет NULL. '- manual: http://www.php.net/manual/en/language.types. array.php # example-89 –

+0

Я буду обновлять вместо изменения моего кода. Когда был выпущен PHP 5.4? Мой сервер работает только около 2 недель. –

+0

Это было выпущено в марте 2012 года –

1

Индексирование на возвращаемое значение функции - это то, что PHP добавил только недавно. Как говорит Дэйв Чен в комментарии, вам нужна промежуточная переменная, которую вы затем можете индексировать.

Смежные вопросы