2013-03-01 141 views
1

我的表是這樣的:如何使用數組中的參數從數據庫中獲取結果?

ID | title  | category 
----------------------------- 
1 | product1 | 0 
2 | product2 | 0 
3 | product3 | 1 
4 | product4 | 1 
5 | product5 | 3 

我有ID的陣列,我該如何選擇產品與ID?

我的意思是這樣的,但類別可以是數組中的任何值,而不僅僅是例子中的一個值。

$result = mysql_query("SELECT * FROM product where category = '$var'"); 
+0

不是那樣的。使用PDO或'mysqli_ *',並跳過你的變量。 – Petah 2013-03-01 08:59:40

+0

這裏有一個使用PDO的例子:http://stackoverflow.com/questions/2373562/pdo-with-where-in-queries – Ken 2013-03-01 09:33:42

回答

1
$ids = implode(',', $ids); // array(1,2,3,4) => '1,2,3,4' 
$result = mysql_query("SELECT * FROM product WHERE category IN ('$ids')"); 
+0

'mysql_query'已被棄用。 – Petah 2013-03-01 09:00:09

+3

他問他如何做到這一點我給他答案有什麼問題? – gries 2013-03-01 09:01:07

+0

您的回答只會導致更多問題 – Petah 2013-03-01 09:02:15

1
從過時 mysql_* functionssql injection

一邊......

$result = mysql_query("SELECT * FROM product where category in ('$list_of_ids')");

+0

'mysql_query'已被棄用。 – Petah 2013-03-01 09:00:28

+2

我很清楚這一點,並將其他一些問題聯繫起來,讓他們知道。 sql本身就是答案。 – 2013-03-01 09:02:46

3

嘗試這種方式

​​

需要注意的是:儘量避免MySQL的extenstio ns,請嘗試使用PDO或準備語句。

+0

'mysql_query'已棄用。 – Petah 2013-03-01 09:01:00

+0

@Petah感謝提醒關於棄用 – GBD 2013-03-01 09:03:45

相關問題