2013-03-30 45 views
-1

我有一個PHP函數,它返回數組中的特定用戶ID。我想創建一個將這些用戶標識轉換爲用戶名的函數。我知道如何創建一個查詢來轉換每個查詢,然後在循環中運行查詢。但是有沒有更好的辦法可以爲整個陣列做到這一點。就像一個可以接受多個值或單詞的查詢一樣。我的數組是簡單:使用MySQL將用戶ID數組轉換爲用戶名

[0] => 126312 
[1] => 128383 
[2] => 987376 
[3] => 563542 
+0

插入,你可插入多個記錄,如:INSERT INTO TableName VALUES('$ id1'),('$ id2'),('$ id3'),...' – 2013-03-30 08:07:57

+0

不插入,我已經有了Userid,我想要用戶名爲他們。 – Aayush

回答

2

假設一個名爲「用戶」和字段「ID」和「用戶名」表中,你可以做: (見http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in

$ids = array([0] => 126312 
[1] => 128383 
[2] => 987376 
[3] => 563542); 

// do pre logic, e.g connecting... 

// sanitize input: 
$ids = array_map("intval", $ids); 

$sql = "SELECT user.username FROM user WHERE user.id IN(". implode(",", $ids) .")"; 

// do fetch logic. 
+0

謝謝!我仍然在學習SQL。 IN語句的作用類似於PHP的in_array()。太好了! – Aayush