我想让每个数组值都在一个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'
有关如何使用数组插入的任何建议吗?
答案 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>