我有一个 html 页面,我从复选框中收集一组值以插入数据库。html 页面发布到一个 PHP 页面,该页面收集数据然后存储在数据库中。
对于每个值,我想包括一些其他字段,这些字段对于所有值(例如输入的时间)都是相同的。我可以使用 implode 轻松地将捕获的数组转换为逗号分隔的列表。我使用这种以逗号分隔的 id 列表来更新和删除记录。但是,当我想插入它们时,MYSQL 似乎不允许您使用逗号分隔的列表。我的问题是,插入记录的最简单方法是什么,对于 c 逗号分隔列表中的每个值一个,而不使用循环。
html页面
<input type="checkbox" name="var[]" value=1>
<input type="checkbox" name="var{}" value=2>
PHP 页面
$vars = $_POST['var'];
这给了我一个数组,我可以使用 implode 将它转换为逗号分隔的列表。
要删除,我可以去
$sql = "DELETE * from table WHERE id in '$vars'";
要更新我可以去
$sql = "UPDATE table, WHERE id in '$vars'";
但是似乎没有插入的等价物。
以下将起作用:
$sql = "INSERT into table (var, timeentered) values (1,now()) (2,now())";
但是,这不是我拥有数据的方式。我想做的是
$sql = "INSERT into table (var,timeentered) values($vars), now()"
但这当然行不通。
我是否必须将用于更新和删除的漂亮逗号分隔列表转换为看起来像 (1,now) (2, now()) 以便插入的东西,还是有替代方法?
感谢您的任何建议。