Я извлекаю информацию из базы данных mySQL, но мне нужно добавить дополнительные поля, которых нет в базе данных.
Приведенный ниже код работает нормально, пока не будет включен один из прокомментированных параметров:
$sth = mysqli_query($db_connect,$sql);
while($r3 = mysqli_fetch_assoc($sth)) {
//array_push($r3, 'str_close'=>$est_close_time);
//$r3['str_close']=>$est_close_time;
$row_v3_data[]=$r3;
}
После включения php показывает «Ошибка 500».
Если выдается ошибка 500, в журнал ошибок сервера большую часть времени что-то записывается. Можете ли вы найти это сообщение и добавить его к вопросу?
Эки, ты проверил ответ?
Вопрос решен, всем спасибо! Мне просто нужно было использовать " = " вместо "=>"






Самый простой способ - добавить другие данные в $r3 перед добавлением их в массив.
$sth = mysqli_query($db_connect,$sql);
while($r3 = mysqli_fetch_assoc($sth)) {
$r3['str_close'] = $est_close_time;
$row_v3_data[] = $r3;
}
This assumes
$est_close_timeactually exists before using it
Единственная вариация этого ответа, заменяющая $r3['str_close'] = $est_close_time; $row_v3_data[] = $r3;. это $row_v3_data[] = array('str_close' => $est_close_time, $r3) или для PHP 5.4+ $row_v3_data[] = ['str_close' => $est_close_time, $r3];
Спасибо, что это была идея, я просто не думал об использовании «=» вместо «=>». Это прекрасно работает!
Удивительно то, что он добавляется в конец массива $ r3, но работает независимо.
вы можете одновременно добавить ключ и элемент в ассоциативный массив. формат просто:
$r3['str_close'] = $est_close_time;
нет необходимости в явном нажатии
разве ваши значения не заменяются в массиве
$row_v3_data[]???