如何在数据库中具有相同ID的多行中插入多个复选框值
Posted
技术标签:
【中文标题】如何在数据库中具有相同ID的多行中插入多个复选框值【英文标题】:How to insert multiple values of checkbox in multiple rows with same id in database 【发布时间】:2018-07-07 07:48:56 【问题描述】:这是我的html代码
<form action="view.php" method="post" id="form">
<p>checkbox: <input type="checkbox" name="check[]" value="INCOMETAX" />INCOMETAX</p>
<p>checkbox: <input type="checkbox" name="check[]" value="GST" />GST</p>
<p>checkbox: <input type="checkbox" name="check[]" value="VAT" />VAT</p>
我的php代码在这里
if ( isset($_POST['check']) )
$checkbox1=$_POST['check'];
$chk = "";
foreach($checkbox1 as $chk1)
$chk .= $chk1 .",";
$sql = "INSERT INTO value (service) VALUES ('$chk')";
代码工作正常,但我想将值存储在具有相同 id 的新行中,现在复选框中的多个值存储为 INCOMETAX、GST、VAT
我如何将 INCOMEtax 存储在第一行,GST 存储在第二行,VAT 存储在第三行,并且具有相同的 id 1
【问题讨论】:
value
表的 id 列是否不是主键,因此是唯一的?
【参考方案1】:
您可以在 php 中创建一个 foreach 循环,该循环将为每个选中的复选框包含 Insert 语句。
这个问题实际上已经被问过了。这是一个链接 Inserting checkbox values into database
我还鼓励您使用参数化查询。
【讨论】:
【参考方案2】:if ( isset($_POST['check']) )
$checkbox1=$_POST['check'];
$sql = "";
foreach($checkbox1 as $chk1)
mysql_query("INSERT INTO value (service) VALUES ('".$chk1."')");
这将每次插入数据库而不是生成查询
【讨论】:
错误:--------插入值(服务)值('INCOMETAX');插入值(服务)值('GST');错误:插入值(服务)价值('INCOMETAX');插入价值(服务)价值('GST');您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“INSERT INTO value (service) VALUES ('GST')' 附近使用正确的语法 @PayalPawar 刚才我根据您的字段以值的名称创建了一个表,我复制了您的错误消息并删除了那些不需要的字母 ERROR :-------- 并在 mysql 中执行。一切对我有用。替换此行后尝试 mysql_query("INSERT INTOvalue
(service
) VALUES ('".$chk1."')");该错误可能是由于您的表名而发生的,因为 value 是 mysql 中的一个函数。因此,当您用作表格或字段时,您应该使用 ` 符号。让我知道它是否有效。以上是关于如何在数据库中具有相同ID的多行中插入多个复选框值的主要内容,如果未能解决你的问题,请参考以下文章
如何从具有相同 id 的多行中选择仅一行的值并用 - 分隔它们? [复制]
如何在 SQL Server 中对具有相同 ID 的多行求和