gpt4 book ai didi

php - 为什么我的 PHP 不返回 MySQL 存储过程?

转载 作者:行者123 更新时间:2023-11-29 05:46:54 26 4
gpt4 key购买 nike

好吧,我有自己编写的这个 MySQL 存储过程,如果我在 phpMyAdmin 中运行以下命令,则会正确返回:

SELECT game_name,urlfriendly(game_name) AS game_name2 FROM games

但是,如果我尝试运行以下代码,我会收到错误消息“警告:为第 # 行的/filepath.php 中的 foreach() 提供的参数无效”

foreach ($this->database->query("SELECT game_name,urlfriendly(game_name) AS game_name2 FROM games") as $games)
{
echo $games["game_name"] . " " . $games["game_name2"];
}

但是,如果我运行它,一切都会好起来的:

foreach ($this->database->query("SELECT game_name FROM games") as $games)
{
echo $games["game_name"];
}

意味着存储过程不会返回到 PHP。

有什么想法吗?

编辑 这是存储过程(但我怀疑这是问题所在,因为 phpMyAdmin 正在从中提取值就好了)

分隔符//

DROP FUNCTION urlfriendly
//
CREATE FUNCTION urlfriendly (unsafe TEXT) RETURNS TEXT

DETERMINISTIC

BEGIN

DECLARE safe TEXT;

SET safe = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(LOWER(unsafe),' ','-'),'&','and'),'`',''),'~',''),'!',''),'@',''),'#',''),'$',''),'%',''),'^',''),'*',''),'(',''),')',''),'_',''),'+',''),'=',''),'[',''),'{',''),']',''),'}',''),'|',''),'\\',''),"'",""),'"',''),':',''),';',''),'<',''),',',''),'>',''),'.',''),'/',''),'?','');

RETURN safe;

END
//

EDIT2 这是从 MySQL 返回的错误

execute command denied to user 'username'@'localhost' for routine 'databasename.urlfriendly' )

最佳答案

你能得到errorInfo吗? ?

你能跑吗:

GRANT EXECUTE ON `database`.* TO 'username'@'localhost'

来自 phpMyAdmin?

关于php - 为什么我的 PHP 不返回 MySQL 存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/477051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com