2017-01-10 78 views
1

查詢數字陣列作爲存儲過程的參數(MySQL的),用於選擇其中在存儲過程中,()

select * 
from table 
where field in (1,2) 

,其中(1.2) - 的存儲過程的參數

CREATE PROCEDURE `myproc` (IN numbers) 

1)告訴我如何通過數字數組作爲參數存儲的過程(通過PHP要這樣做)

$data = '(1,2,3)'; 
$result = $connection->query('CALL myproc($data)'); 

2)告訴我豪w至檢查傳遞給存儲過程中不包含的陣列的元素或者包含等於0

回答

0

嘗試以下代碼的一個元素:

$data = '(1,2,3)'; 
$sql = sprintf("CALL myproc(%s)", $data); 
$result = $connection->query($sql); 
+0

Ranjith,但是如何在存儲過程中使用已經存在的數組! 'CREATE PROCEDURE myproc的(IN號碼!!!!!未知類型!!!!!)' 和 'SELECT * FROM 表 WHERE字段IN numbers' – Zhihar

0

我使用FIND_IN_SET在SQL:

select * 
from table 
where FIND_IN_SET(field, '1,2,3') > 0 

'1,2,3'我在php代碼中形成