Следующий код выдает ошибку в PHP 5.2.9 после отправки, но не при первоначальной загрузке. Ошибка: фатальная ошибка: только переменные могут быть переданы по ссылке в /home/golfcom/public_html/test.php в строке 12
Файл:
<?php include('connection.php'); $result = $dbc->query("SELECT subdivision FROM Residential"); $search['subdivision'] = array(); while($i = $result->fetch_array()){ echo $i['subdivision']; array_push($search['subdivision'], $y = $i['subdivision']); } ?> <form action="test.php" method="post"> <input type='submit' value='search' class='submit' name='search' /></form>
Разобрался. У моего хоста был register_globals. Отключение, если все исправлено.
Просто предположение, но, возможно, это как-то связано с операцией присваивания внутри функции:
array_push($search['subdivision'], $y = $i['subdivision']);
Попробуйте вместо этого:
$y = $i['subdivision']; array_push($search['subdivision'], $y);
У вас нет контроля ошибок. Вам необходимо проверить следующее:
В вашем цикле $ y будет значением строки LAST и устанавливается для каждого цикла. Хотя это не так, вы можете изменить свой код на что-то вроде:
$t = $result->numRows(); while ($row = $result->fetch_array()) { $search['subdivision'][] = $row['subdivision']; } $lastResult = $search['subdivision'][$t - 1];
Игнорируйте этот вопрос, я получаю противоречивые результаты. Я думаю, что мой хозяин вонючий.