如何在 PHP 中将多个复选框和文本框数组插入 MySQL 数据库?

Susan Sarandon
发布: 2024-10-27 20:37:30
原创
380 人浏览过

How to Insert Multiple Checkbox and Textbox Arrays into a MySQL Database in PHP?

在 PHP 中将多个复选框和文本框数组插入 MySQL 数据库

插入多个复选框数组

如果复选框值不是插入数据库后,HTML 中的 name 属性索引与 PHP 数组元素之间可能存在差异。为了解决这个问题,我们需要为每个复选框元素显式设置唯一索引:

<code class="html"><input tabindex="1" name="checkbox[0]" type="checkbox" value="17" />

<input tabindex="1" name="checkbox[1]" type="checkbox" value="20" /></code>
登录后复制

这将确保每个复选框在 $_POST['checkbox'] 数组中都有自己的唯一索引。

防止插入未选中的复选框

为了防止将未选中的复选框插入数据库,我们应该在插入其值之前显式检查每个复选框是否已选中:

<code class="php">if(isset($_POST['checkbox'])) {
    foreach($_POST['checkbox'] as $check) {
        if(!empty($check)) {

            $check = implode(',', $_POST['checkbox']);
            $name = implode(',', $_POST['item']);
            $quantity = implode(',', $_POST['quantity']);
        }
    }</code>
登录后复制

使用Prepared Statement方法进行插入查询

建议不要使用mysql_query,而是使用Prepared Statement进行插入查询,以防止SQL注入攻击。以下是修改插入方法的方法:

<code class="php">$stmt = $conn->prepare("INSERT INTO purchases (Product, Quantity, Price) VALUES (?, ?, ?)");
$stmt->bind_param("sis", $name, $quantity, $price);
foreach ($_POST['checkbox'] as $i => $price) {
    $name = $_POST['name'][$i];
    $quantity = $_POST['quantity'][$i];
    $stmt->execute();
}</code>
登录后复制

其他注意事项

  • 从数据库中检索价格而不是将其硬编码在HTML 以防止篡改。
  • 避免混合 MySQLi 和 mysql API 进行数据库连接和查询执行。

以上是如何在 PHP 中将多个复选框和文本框数组插入 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!