2011-09-24 41 views
0

我想獲取從MySQL數據庫使用多個ID一些特定的行,例如,如果我必須只選擇行201567991等等使用特定ID提取多行?

這樣

$sql_query = "SELECT * from tbl_name WHERE id = '201', '567', 'id-etc.'"; 

是否有可能在MySQL?

回答

2

IN()應該做的伎倆。只要把你的號碼清單中括號內像這樣:

$sql_query = "SELECT * from tbl_name WHERE id IN(1, 2, 3, ...)"; 

你不需要引用數進入INT領域,但它是可投的任何變量爲int,最大限度地減少安全漏洞一個非常好的主意:

$var = (int)$var; 

如果你使用的字符串,但是,引用他們像往常一樣。

+0

感謝,在座的各位,它幫助了我很多..... –

+1

@ImranHussain,我只想用'mysql_real_escape_string建議()'的一切,只是引用您的所有數字。這樣你所有的轉義代碼看起來都是一樣的,你不會犯錯誤。如果您保留轉義字符串**未加引號**,則可以使用SQL注入。如果你引用一個數字,一切都可以正常工作,性能完全一樣。 – Johan

+0

@Johan,謝謝我欣賞這個幫助。 –

1

是的。使用INLink

$sql_query = "SELECT * from tbl_name WHERE id IN ('201', '567')"; 
+0

謝謝大家,它可以幫助我很多..... –

1

使用TGE 「IN」 操作符如:|

SELECT * from tbl_name WHERE id In ('201', '567', 'id-etc.') 
+0

謝謝大家,它幫助我很多..... –