我想用PHP调用多个 MySQL存储例程顺序,但我只能成功调用一个一个 - 之后我收到错误命令不同步;你现在不能运行这个命令。研究这个问题我发现这是一个常见的问题(由于在下一个调用之前没有“完成”之前的调用),但我没有找到可以应用于我的代码的解决方案:
for ($i=0; $i<10; $i+=1)
{
if (!($conn=getconn() && ($result=mysql_query("call MyStoredRoutine();", $conn))))
{
$errorMessage = mysql_error($conn); // Error 2nd time here...
}
else {
while ($row=mysql_fetch_array($result)) {
// Retrieve data here...
}
}
}
getconn()
的实施(我不认为这是相关的,但你永远不知道):
function getconn() {
global $custdb, $custdb_connection, $dbuser, $dbpass;
if (! $custdb_connection) {
if (! ($custdb_connection = mysql_connect("localhost", $dbuser, $dbpass, true))) return false;
if (! (@ mysql_select_db($custdb, $custdb_connection))) return false;
}
return $custdb_connection;
}
PHP版本是 5.3.8-1~dotdeb.1 ,MySQL是 5.1.54-1ubuntu4 。
任何人都知道我应该对我的代码做些什么来使它工作?