我從我的表中抓取兩個隨機行。然後我想比較它們以確保它們不是同一行。如果他們是我想繼續選擇一個隨機行,直到我接觸,這是不一樣的。試圖比較PDO語句
目前我正在選擇隨機行罰款我的問題出現時,我打while循環試圖獲得不同的行。我得到以下錯誤「調用一個成員函數取()一個非對象」
for ($i = 1; $i <= $cycles; $i++) {
$t1 = $dbtemp->query("SELECT * FROM `test` ORDER BY RAND() LIMIT 1");
$t2 = $dbtemp->query("SELECT * FROM `test` ORDER BY RAND() LIMIT 1");
$winner = $t1->fetch(PDO::FETCH_ASSOC);
$loser = $t2->fetch(PDO::FETCH_ASSOC);
if($winner['id'] == $loser['id']) {
while($winner['id'] == $loser['id']) {
$t2 = $dbtemp->query("SELECT * FROM `content` ORDER BY RAND() LIMIT 1");
$loser = $t2->fetch(PDO::FETCH_ASSOC); // Error occurs on this line
}
}
如何,我應該還是會去使這項工作將是巨大的任何建議。
哪行做的錯誤呢? –
@HenriqueBarcelos查看評論。 –
'$ t2'顯然是'FALSE'。在執行任何查詢並捕獲錯誤之前,請設置$ dbtemp-> setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);; –