在PHP调用存储过程返回结果集的时候,会提示:can't return a result set in the given context;解决can't return a result set in the given context的方法。
关键两点:
1.define('CLIENT_MULTI_RESULTS', 131072);
2.$link = mysql_connect("127.0.0.1", "root", "123",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());
实例一下:存储过程实例下载
PHP代码
01.<?php
02. define('CLIENT_MULTI_RESULTS', 131072);
03. $link = mysql_connect("127.0.0.1", "root", "123",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());
04. mysql_select_db("test") or die("Could not select database");
05. $sql = "create procedure select_data()
06. begin
07. select * from user;
08. end;";
09. mysql_query($sql);
10.
11.
12. $result = mysql_query("call test.select_data()") or die("Query failed:" .mysql_error());
13. while($row = mysql_fetch_array($result, MYSQL_ASSOC))
14. {
15. $line = '
'.$row["name"].'('.$row["pwd"].')'.'16.r>';
17. echo $line;
18. printf("\n");
19.
20. }
21.?>