我試圖運行以下內容。mysqli給「命令不同步」錯誤 - 爲什麼?
<?php
$db = mysqli_connect("localhost","user","pw") or die("Database error");
mysqli_select_db($db, "database");
$agtid = $_POST['level'];
$sql = sprintf("call agent_hier(%d)", $agtid);
$result = mysqli_query($db, $sql) or exit(mysqli_error($db));
if ($result) {
echo "<table border='1'>
<tr><th>id</th>
<th>name</th>
<th>parent_id</th>
<th>parent_name</th>
<th>level</th>
<th>email</th></tr>";
while ($row = mysqli_fetch_assoc($result))
{
$aid = $row["id"];
$sql2 = "SELECT * FROM members WHERE MEMNO = '$aid'";
$result2 = mysqli_query($db,$sql2) or exit(mysqli_error($db));
while ($newArray = mysqli_fetch_array($result2)) {
$fname = $newArray['FNAME'];
$lname = $newArray['LNAME'];
$mi = $newArray['MI'];
$address = $newArray['ADDRESS'];
$city = $newArray['CITY'];
$state = $newArray['STATE'];
$zip = $newArray['ZIP'];
$kdate = $newArray['KDATE'];
$date = abs(strtotime(date('m/d/Y')) - strtotime(date($kdate)))/(60 * 60 * 24);
}
echo sprintf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>",
$row["id"],$row["name"],
$row["parent_id"],$row["parent_name"],
$row["level"],$row["email"]);
}
echo "</table>";
}
mysqli_free_result($result);
mysqli_close($db);
?>
如果我刪除線:
$aid = $row["agent_id"];
到....
$date = abs(strtotime(date('m/d/Y')) - strtotime(date($kdate)))/(60 * 60 * 24);
}
一切都將正常工作。如果不是這樣,我得到以下錯誤:
Commands out of sync; you can't run this command now
在研究,我認爲這可能是由於多個庫MySQLi查詢同時運行,在使用mysqli_multi_query
但對於the guide所有樣品和通用數據不似乎不適用。
任何想法?
線在哪裏'$日期= ABS(的strtotime(日期( 'M/d/Y')) - 的strtotime(日期($ kdate) ))/(60 * 60 * 24); ''在你的代碼中?你說如果你刪除它,但我不能在那裏看到它。 – avacariu 2010-09-02 23:43:36
@vlad - 我的道歉,修好了 – JM4 2010-09-02 23:48:12