php for 每个循环发送一行到数据库

标签 php

我的每个循环都有一个 php,它只将一条记录发布到数据库,并且不会返回任何错误。 我检查了我的 html,显然没有什么问题。我尝试了一些选项,但仍然没有结果。 这是我的 html

<form method="post" action="index.php">
 <input type="text" name="username[]" value="12345" readonly="readonly" />
 <input type="text" name="school[]" value="Degree" readonly="readonly" />
 <select name="candname[]">
    <option></option>
    <option>wayne roony</option>
    <option>ikpa oludo</option>
    <option>meta</option>
    <option>databoy</option>
    <option>lanre</option>
    <option>toafeek</option>
    <option>shola suni</option>
</select>
<br/>
<select name="candname[]">
    <option></option>
    <option>wayne roony</option>
    <option>ikpa oludo</option>
    <option>meta</option>
    <option>databoy</option>
    <option>lanre</option>
    <option>toafeek</option>
    <option>shola suni</option>
</select>
<br/>
<select name="candname[]">
    <option></option>
    <option>wayne roony</option>
    <option>ikpa oludo</option>
    <option>meta</option>
    <option>databoy</option>
    <option>lanre</option>
    <option>toafeek</option>
    <option>shola suni</option>
</select>
<br/>
<select name="candname[]">
    <option></option>
    <option>wayne roony</option>
    <option>ikpa oludo</option>
    <option>meta</option>
    <option>databoy</option>
    <option>lanre</option>
    <option>toafeek</option>
    <option>shola suni</option>
</select>
<br/>
<select name="candname[]">
    <option></option>
    <option>wayne roony</option>
    <option>ikpa oludo</option>
    <option>meta</option>
    <option>databoy</option>
    <option>lanre</option>
    <option>toafeek</option>
    <option>shola suni</option>
</select>

和我的 PHP

<?php 

$con=mysqli_connect("localhost","root","4***","online**");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

 {
    $username = $_POST['username'];
    $school = $_POST['school'];
    $candname = $_POST['candname'];
    for ($i = 0; $i < count($username); $i++) {

        $username = ($username[$i]);
        $school = ($school[$i]);
        $candname = ($candname[$i]);

        mysqli_query($con, "INSERT INTO parlia_votes (username, school, candname) VALUES ('$username', '$school', '$candname')");
    } 
}
?>

我的目标是将所有五个选定的选项发布到数据库中。 感谢您的帮助

最佳答案

您有多个candname,但usernameschool都是单一的。您仍然以数组形式获取所有元素,您可以尝试以下代码

    ...

    $username = $_POST['username'][0];
    $school = $_POST['school'][0];
    $candname = $_POST['candname'];
    foreach ($_POST['candname'] as $candname) {
        $query = sprintf(
            "INSERT INTO parlia_votes (username, school, candname) VALUES ('%s', '%s', '%s')",
            $username,
            $school,
            $candname
        );
        $con->query($query);
    }

关于php for 每个循环发送一行到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44613455/

相关文章:

php - PHP解析/语法错误;以及如何解决它们

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - 正在为 Windows 安装 Composer - 无法找到包装器 "https"

php - 我在 MySQL 中的 PHP 搜索返回整个表?为什么?

php - preg 匹配 php a-zA-Z0-9 和空格

php - 从sql中获取实际的年月数据

php - MySql 多表还是一张大表?

php - 如何在 Laravel 中保护 .env 文件

php - 如何将mysql搜索结果保存在变量中

php - 如何在 TWIG 中使用参数访问实体函数 - symfony2