«
php调用存储过程返回结果集

时间:2008-5-31    作者:Deri    分类: 分享


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