Сложная хранимая процедура MySQL возвращает NULL в PHP ⇐ Php
Сложная хранимая процедура MySQL возвращает NULL в PHP
Я переписываю веб-приложение PHP для использования хранимых процедур MySQL, и все шло хорошо, пока я не написал довольно сложную хранимую процедуру, использующую временную таблицу, курсор и ряд переменных.
Если я использую PDO, это выдает фиктивную ошибку о разрешениях (которая не может быть правильной, поскольку все остальные хранимые процессы прекрасно работают под тем же пользователем).
Если я использую MySQLi, он просто возвращает NULL.
[*]Я знаю, что с самой процедурой проблем нет, поскольку я могу запустить ее из phpMyAdmin, и она возвращает ожидаемые результаты. [*]Как уже упоминалось, я знаю, что проблем с разрешениями не возникает, поскольку один и тот же пользователь может успешно выполнять другие хранимые процедуры в той же базе данных. [*]Инструкции SELECT, используемые внутри процедуры, выбираются в переменные, временные таблицы или курсоры, поэтому существует только один оператор SELECT, который возвращает один набор результатов в конце процедуры (что проверяется при вызове процедуры через phpMyAdmin).
Поэтому сейчас я просто ищу некоторые общие принципы, которые я, возможно, упустил из виду и которые приводят к сбою этой процедуры в PHP.
Я читал несколько подобных вопросов о переполнении стека, но они касались выходных параметров. Я пытаюсь вернуть набор записей, а не определенный выходной параметр.
Если понадобится, я опубликую код, но мне придется потратить некоторое время на его запутывание, прежде чем я смогу это сделать.
Я переписываю веб-приложение PHP для использования хранимых процедур MySQL, и все шло хорошо, пока я не написал довольно сложную хранимую процедуру, использующую временную таблицу, курсор и ряд переменных.
Если я использую PDO, это выдает фиктивную ошибку о разрешениях (которая не может быть правильной, поскольку все остальные хранимые процессы прекрасно работают под тем же пользователем).
Если я использую MySQLi, он просто возвращает NULL.
[*]Я знаю, что с самой процедурой проблем нет, поскольку я могу запустить ее из phpMyAdmin, и она возвращает ожидаемые результаты. [*]Как уже упоминалось, я знаю, что проблем с разрешениями не возникает, поскольку один и тот же пользователь может успешно выполнять другие хранимые процедуры в той же базе данных. [*]Инструкции SELECT, используемые внутри процедуры, выбираются в переменные, временные таблицы или курсоры, поэтому существует только один оператор SELECT, который возвращает один набор результатов в конце процедуры (что проверяется при вызове процедуры через phpMyAdmin).
Поэтому сейчас я просто ищу некоторые общие принципы, которые я, возможно, упустил из виду и которые приводят к сбою этой процедуры в PHP.
Я читал несколько подобных вопросов о переполнении стека, но они касались выходных параметров. Я пытаюсь вернуть набор записей, а не определенный выходной параметр.
Если понадобится, я опубликую код, но мне придется потратить некоторое время на его запутывание, прежде чем я смогу это сделать.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Хранимая процедура сервера MSSQL не возвращает выходные параметры при вызове из С++
Anonymous » » в форуме C++ - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Хранимая процедура C# возвращает все строки в таблице для нулевых значений.
Anonymous » » в форуме C# - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Хранимая процедура C# возвращает все строки в таблице для нулевых значений.
Anonymous » » в форуме C# - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Не знаю, почему моя хранимая процедура не работает между pyodbc и SQL Server.
Anonymous » » в форуме Python - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-