php呼叫預存程序回傳結果集,解決can't return a result set in the given context錯誤的方法
需要php呼叫儲存過程,回傳一個結果集,發現很困難,找了半天,終於在老外的論壇上找到解決方案,這裡本地化一下。
關鍵就是mysql_connect,第四個參數加上1,131072
關鍵就是mysql_connect,第四個參數加上1,131072$link = mysql_connect("127.0.0.1", "root", "",1,131072) or die("Could fnect: ());下面就可以正常使用了,以下是範例程式。<?php define('CLIENT_MULTI_RESULTS', 131072); $link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error()); mysql_select_db("vs") or die("Could not select database");?>
<?php $result = mysql_query("call get_news_from_class_id(2)") or die("Query failed:" .mysql_error()); while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $line = '<tr><td><a target = _blank href=\''.$row["url"].'\'>'.$row["title"].'('.$row["page_time"].')'.'</a></td></tr>'; echo $line; printf("\n"); } mysql_free_result($result); ?>
<?php mysql_close($link); ?>