所以我有我認爲是一個非常簡單的SELECT查詢。查詢本身看起來是這樣的:MySQL在哪裏返回一行
"SELECT id FROM files WHERE name IN ("me_me-about.jpg", "me_me-blog.jpg", "me_me-.jpg")
我想在這三個文件在我的數據庫中的ID。他們在他們的桌子上。他們有唯一的ID。 (我這樣做,這樣我就可以將ID插入到聯結表中,以便將它們與用戶配置文件關聯起來,以防萬一您想知道。)我從$ filenames數組創建語句,這只是一個簡單的維數組文件名:
$stmt = '(';
for ($i = 0; $i < sizeof($filenames); $i++) {
$stmt .= '"' . $filenames[$i] . '", ';
}
$stmt = substr($stmt, 0, -2);
$stmt .= ')';
$query2 = $this->db->prepare("SELECT id FROM files WHERE name IN " . $stmt);
查詢返回一行,最後一行。從我見過的WHERE ... IN語法的所有內容來看,這不應該是?是我無法看到的東西嗎?
從PMA(ID,姓名,一年[我回來,一旦這工作])的 「文件」CSV錶轉儲:
"20";"me_me-about.jpg";;"0"
"21";"me_me-blog.jpg";;"0"
"22";"me_me-.jpg";;"0"
的$文件名的print_r:
Array ([0] => me_me-about.jpg [1] => me_me-blog.jpg [2] => me_me-.jpg)
print_r的原始形式$語句(上面我的代碼):
("me_me-about.jpg", "me_me-blog.jpg", "me_me-.jpg")
的try-catch來執行。輸出$行至$ _SESSION這樣我就可以print_r的它的相關頁面上:的$ _SESSION
try {
$query2->execute();
$rows = $query2->fetch();
$_SESSION['stmt'] = $rows;
} catch (PDOException $e) {
die($e->getMessage());
}
的print_r [ '語句']:
Array ([id] => 22 [0] => 22)
此外,當您運行** **確切相同的查詢你得到了什麼在phpmyadmin或在MySQL控制檯? –
在PMA中,我得到了所有三行。這是奇怪的事情。 – Jeff
然後,錯誤必須在此處添加此代碼之後。你如何顯示輸出?我敢打賭,錯誤就在那裏 –