Отображение результатов хранимой процедуры через PHPMySql

Форум по Mysql
Ответить
Anonymous
 Отображение результатов хранимой процедуры через PHP

Сообщение Anonymous »

Я создаю окно поиска для извлечения данных из базы данных. В данном случае мне нужны были результаты из трех разных столбцов, которые нужно было рассматривать как один столбец.
После безуспешных попыток объединения нескольких столбцов для получения единого набора результатов я смог создать хранимую процедуру в своей базе данных, и она делает именно то, что я искал (т. е. возвращает разные результаты из трех разных столбцов) через UNION. Вот так:

Код: Выделить всё

SELECT BiblePeople1 FROM writing UNION
SELECT BiblePeople2 FROM writing UNION
SELECT BiblePeople3 FROM writing
В PHPmyAdmin я могу сказать, что процедура делает то, что я хотел.
Но мне не удалось отобразить результаты на моей странице PHP. Я хочу использовать PDO. У меня есть это:

Код: Выделить всё

$stmt = $dbh->prepare("CALL combinePeople()");
$stmt->execute();
(Соединение ранее было установлено из отдельного файла конфигурации и работает нормально, так как у меня есть другие функционирующие окна поиска.)
Что мне не удалось, так это выяснить, как вставить это в форму моего окна поиска, поскольку другие мои окна поиска не используют хранимые процедуры и просто вызывают заданный столбец. Поэтому я просто использую foreach и отображаю строку из нужного столбца.
Как мне сделать что-то подобное с хранимой процедурой? Мне кажется, это было бы просто, но все, что я нашел через поиск, далеко не похоже на то, что я делаю.
Я пробовал, например. добавление

Код: Выделить всё

$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
а затем делаем то же самое, что и другие поля поиска...

Код: Выделить всё

foreach ($data as $row):

echo $row;

... но это явно не работает.
Существует только один запрос: просто извлекаются имена из трех столбцов в одной таблице. Это просто для того, чтобы получить достаточно информации для заполнения раскрывающегося списка поля поиска.
Я использовал хранимую процедуру главным образом потому, что это оказалось наиболее работоспособным решением, позволяющим обрабатывать три столбца так, как если бы они были одним.

Подробнее здесь: https://stackoverflow.com/questions/797 ... re-via-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»