【发布时间】:2025-12-08 10:35:01
【问题描述】:
是否可以将复选框值内爆成多个值以插入数据库?
目前我有这个:
$tags = implode(', ', $_POST['checkboxname']);
这给了我“testtag1,testtag2”的值
我将如何拆分它,以便它像这样进入数据库:
Blog ID ¦ Tag
------------------
1 ¦ testtag1
1 ¦ testtag2
不知道如何使内爆函数将它们分开:
$query2 = mysqli_query($myConnection, "INSERT INTO blogtags (blogid, tag) VALUES('$blogid','$tags')") or die (mysqli_error($myConnection));
只需将两个值一起插入一行。
任何帮助都会很棒! 谢谢
【问题讨论】:
-
你为什么会内爆?只需遍历
$_POST['checkboxname']并在每个循环中插入。 -
首先,你有一个巨大的 SQL 注入漏洞。其次,考虑MySQL syntax 在单个查询中插入多行 - 这就是您需要字符串的样子。第三,也是最重要的,因为它解决了以上两个问题:您应该准备一个语句来插入一行并多次调用它。这正是 prepared statements 的设计目的。