1
嗯,我认为我写的,如果我运行phpMyAdmin的东西下面的正确返回这个MySQL存储过程:提供的参数无效:为什么我的PHP不会返回MySQL存储过程?
SELECT game_name,urlfriendly(game_name) AS game_name2 FROM games
但是,如果我尝试运行下面的代码我得到的错误“警告为的foreach()在/filepath.php线#”
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是从它就好拉后的值)
DELIMITER //
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')
没有显示任何内容 - 这将与PDO一起工作吗? – 2009-01-25 02:10:57