Choice2Medlem sedan sep. 200134 inlägg Hej, jag har skapat en procedur som nedanstående och den funkar bra ifrån mysqlclienten.
CREATE PROCEDURE test_proc (var1 INT, OUT parm1 CHAR(32))
BEGIN
SELECT user INTO parm1 FROM table1,table2 WHERE table.id=table2.id2 LIMIT 0,var1;
END;
//
Problemet är att det funkar mindre bra när jag försöker använda det från php så får jag tillbaka följande fel: "Result consisted of more than one row"
Då är ju självklart frågan... Hur kan jag lösa detta så att jag kan returnera flera rader från mysql till php?
LarsGMedlem sedan dec. 200012 464 inlägg Om du vill returnera flera rader skall du inte använda select into. Du behöver heller inga parametrar.
Choice2Medlem sedan sep. 200134 inlägg Ok, men om vi säger såhär då:
CREATE PROCEDURE test_proc (var1 INT)
BEGIN
SELECT msg,user FROM table1,table2 WHERE table.id=table2.id2 LIMIT 0,var1;
END;
//
Detta returnerar alltså följande i mysql clienten men när jag anropar funktionen från text php med funktionen mysql_query() blire knas.
+------+---+
| user | id |
+------+---+
| user1 | 1 |
| user2 | 2 |
| user3 | 3 |
| user4 | 4 |
| user5 | 5 |
+------+---+
5 rows in set (0.01 sec)
Query OK, 0 rows affected (0.15 sec)
Så vad göra?