使用括号填充数组值以执行插入

时间:2015-12-08 19:21:51

标签: php mysql arrays mysqli

我想让每个数组值都在一个paranthesis

$id   = $_POST['id'];
$test2 = array($id);
$id_list = implode(',', $test2);
$sql .= "INSERT INTO tmp (id) VALUES ({$id_list});";

例如:我执行插入操作,因此列表的输出应该是(5),(10),(15)不是' 5'' 10&#39 ;,' 15'

有关如何使用数组插入的任何建议吗?

1 个答案:

答案 0 :(得分:0)

MySQL的扩展插入语法是

INSERT INTO sometable (...fields...) VALUES (value set #1), (value set #2), (value set #3), etc...

请注意每个值集如何在其自己的()中。你不是那样做的。您只是在单个()集合中传递了一堆值,这意味着您要为字段列表中不存在的字段提供值。

你需要做

$id_list = '(' . implode('),(', $_POST['id']) . ')';
制造

(5),(10),(15)

而不是

(5, 10, 15)

您还需要意识到自己容易受到sql injection attacks的攻击。<​​/ p>