我的每个循环都有一个 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
,但username
和school
都是单一的。您仍然以数组形式获取所有元素,您可以尝试以下代码
...
$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/