<p> php调用存储过程返回结果集,解决can't return a result set in the given context错误的方法需要php调用存储过程,返回一个结果集,发现很困难,找了半天,终于在老外的论坛上找到解决方案,这里本地化一下。<p> 关键就是两点</p><p> 1)define('CLIENT_MULTI_RESULTS', 131072);</p><p> 2)$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());</p><p> 下面就可以正常使用了,以下是例子程序。</p><code><?php<br /> define('CLIENT_MULTI_RESULTS', 131072);<br /> $link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());<br /> mysql_select_db("vs") or die("Could not select database");<br />?><br /> <?php<br /> $result = mysql_query("call get_news_from_class_id(2)") or die("Query failed:" .mysql_error());<br /> while($row = mysql_fetch_array($result, MYSQL_ASSOC))<br /> {<br /> $line = '<tr><td><a target = _blank href=''.$row["url"].''>'.$row["title"].'('.$row["page_time"].')'.'</a></td></t<br />r>';<br /> echo $line;<br /> printf("<br />");<br /> }<br /> mysql_free_result($result);<br /> ?><br /><?php<br /> mysql_close($link);<br />?></code></p>