0
我有以下的mysqli查詢:庫MySQLi查詢跳過前5行
$run = 0;
$result = $conn->query("SELECT title, author,i.isbn13, i.sku, quantity, weight, listed_price
from book
LEFT JOIN inventory i on book.isbn13 = i.isbn13
where quantity > 0 and i.isbn13 like '978%' limit $run, 5");
,然後我通過亞馬遜的API返回的XML數據運行。然後我解析與更新我的表:
$conn->query("update book set author = '" . addslashes($amazonResult['Author']) . "', title ='" . addslashes($amazonResult['Title']) . "',
edition='" . addslashes($amazonResult['Edition']) . "',
weight='" . $amazonResult['Weight'] . "', publisher='" . addslashes($amazonResult['Publisher']) . "', binding='" . $amazonResult['Binding'] . "',
pub_date='" . $amazonResult['PublishDate'] . "', listed_price = '" .$amazonResult['ListPrice'] . "'
where isbn13 = '" . $amazonResult['isbn'] . "'");
更新$運行:
$run=$run+5;
,並把它遍歷一次。然而,我的輸出跳過表中的前5行並返回下一個5.此外,在運行大約20條記錄之後,它再次跳過5條記錄。它處理的行,它正確,我通過查詢的回聲驗證。當我在Navicat中使用查詢時,將$ run替換爲0,一切都很正常,返回前5行。
任何想法我做錯了什麼或我該如何解決這個問題?過去我從未遇到過這種情況,併爲不同的報告使用幾乎相同的查詢。
我確實使用了isbn13 asc的順序,並沒有區別。你會建議,而不是addslashes?這是我的更新命令的作品。 – Jim
感謝有關mysqli_real_escape_string的信息,但仍不能解決我跳過記錄的問題。這是我最關心的。 – Jim