Я использую процедуру, описанные ниже: Но я не получаю никакого значения, когда я печатаю это в локальном PHPMyAdmin/MySQL:не может видеть любое значение из MySQL хранимой процедуры
call GetAllProducts() ;
он не возвращает значений, как выберите заявление делает? Где я могу выполнить, чтобы увидеть значения? Как это сделать wotk.I действительно ценю любую помощь. Спасибо заранее.
Приведенная ниже процедура успешно выполнена и сохранена. Я проверил это.
DELIMITER //
CREATE PROCEDURE GetAllProducts()
BEGIN
SELECT * FROM products;
END //
DELIMITER ;
У вас нет ошибок? Вы подключены к правой базе данных через PMA (например, не тест-тест)? То, что вам нужно, должно точно работать. Просьба также пояснить, можете ли вы выполнить его с помощью 'call GetAllProducts()' из командной строки MySQL? То, что вы использовали 'DELIMITER' (который является командой CLI для MySQL), означает, что у вас есть доступ к клиенту командной строки' mysql' ... –
@MichaelBerkowski 'Вы используете устаревшее расширение mysql PHP, которое не способный обрабатывать несколько запросов. Выполнение некоторых хранимых процедур может завершиться неудачей! Пожалуйста, используйте улучшенное расширение «mysqli», чтобы избежать каких-либо проблем. «--------- Я получаю следующий ответ, когда я нажимаю execute в подпрограммах в mysql. – jason
@jason Я думаю, что вы только что ответили на свой вопрос ... зайдите в файл PMAs 'config.inc.php' и измените' $ cfg ['Servers'] [$ i] ['extension'] 'to * * mysqli ** (и убедитесь, что вы используете MySQLi, или еще лучше PDO, поскольку это лучше справляется с процедурами, которые я нашел, в вашем приложении). – CD001