使用PDO 匹配資料庫中的行:問題排查
嘗試使用PDO 檢查資料庫中的重複行時,您可能會遇到以下情況結果與您的期望不同。以下是需要考慮的潛在問題和解決方案:
由 SQL 錯誤引起的問題
確認您的查詢執行時沒有錯誤。即使沒有符合項,PDO 也可能會傳回「0」作為結果計數,這表示有查詢問題。
條件引起的問題
檢查您的查詢條件排他性。諸如“WHERE col=1 AND col=2”之類的條件將始終返回“0”。簡化條件,隔離問題。
資料引起的問題
除錯技巧
問題與解決方案範例
您的查詢包含一個字串HTML 實體,例如「SELECT count(*) FROM inbox WHERE ... AND from_email = "abc Offers "」。在 phpMyAdmin 中執行時,此查詢有效,但透過 PDO 傳回「0」。 HTML 實體(“”轉換為實體)導致不符。修改查詢以刪除這些實體可以解決問題:
$sql = 'SELECT count(*) FROM inbox WHERE uid = ? AND from_email = "abc Offers [email protected]"'; $result = $link->prepare($sql); $result->execute([$email_number,$email_f]); $number_of_rows = $result->fetchColumn();
以上是為什麼即使存在匹配,我的 PDO 資料庫行匹配查詢也會返回零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!