Neden benim PHP, MySQL saklı yordam geri değil mi?

1 Cevap php

Eh ben yazdım bu MySQL saklı yordam var ve phpMyAdmin aşağıdaki çalıştırmak eğer işler düzgün dönmek:

SELECT game_name,urlfriendly(game_name) AS game_name2 FROM games

: "On line # in / filepath.php) foreach için verilen geçersiz bağımsız değişken (Uyarı" Ben aşağıdaki kodu çalıştırmayı denediğinizde Ancak ben hata olsun

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

Ben bu çalıştırırsanız Ancak tüm iyi gidiyor:

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

Saklı yordam Anlamı PHP dönmeyecektir.

Herhangi bir fikir?

EDIT Burada saklı yordam (ama ben phpMyAdmin gayet ondan geriye değerleri çekiyor gibi konudur şüphe)

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
//

Hata MySQL döndü EDIT2 is Here

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