У меня есть ситуация, когда генерируется динамический запрос, который может выбрать от 1 до более 300 различных столбцов в нескольких таблицах. В настоящее время он работает нормально, просто выполняя запрос, однако проблема, с которой я сталкиваюсь при использовании подготовленного оператора, заключается в том, что я не знаю, как справиться с тем фактом, что я не знаю, сколько столбцов я буду запрашивать каждый раз и поэтому не знаю, как обрабатывать результаты.
Я полагаю, что оператор связывания поможет, потому что, как только этот запрос будет выполнен один раз, он , скорее всего, (хотя и не всегда) будет выполнен снова с точно такими же параметрами.
В настоящее время у меня есть что-то вроде этого:
$rows = array();
$this->statement = $this->db->prepare($query);
$this->statement->bind_param('i',$id);
$this->statement->execute();
$this->statement->bind_result($result);
while($this->statement->fetch())
{
$rows[] = $result;
}
Я знаю, что это не работает так, как я хочу, мой вопрос - как мне вернуть данные из запроса. Можно ли вернуть столбцы в ассоциативный массив по имени столбца, как стандартный запрос mysqli?