2012-09-01 23 views
24

Tôi muốn loại trừ các album này, có tên:MySQL trong đó KHÔNG CÓ mảng tên?

$ban_album_names = array('Wall', 'Profile', 'Cover', 'Instagram'); 

Làm thế nào để tôi viết một cách chính xác,

SELECT * FROM albums WHERE name NOT IN ??? 

Làm thế nào tôi có thể làm cho nó trông trong mảng, và nếu tên phù hợp với nó nên! = hàng

Trả lời

53

Hãy thử cách này:

$sql = "SELECT * 
    FROM albums 
    WHERE name NOT IN ('" . implode("', '" , $ban_album_names) . "')"; 
+0

Rất tuyệt! Cảm ơn – Karem

+1

Đối với danh sách tên đã cho, không có bất kỳ trích dẫn nhúng nào trong các chuỗi; nếu có, bạn cần phải tạo danh sách '$ banned' gọi một hàm trích dẫn thích hợp để ngăn chặn [SQL Injection] (http://xkcd.com/327). –

+0

Đây là một câu trả lời khủng khiếp và sẽ dẫn đến một loạt các truy vấn không cần thiết. Nhìn bên dưới. – Jehan

15

các MySQL MÃ là

SELECT * FROM albums WHERE name NOT IN ('Wall', 'Profile', 'Cover', 'Instagram') 
Các vấn đề liên quan