0
我的代碼正在工作,但如果我從表單中選擇了兩個值,然後只有單個增值數據庫,則存在問題。哪裏出問題了。複選框值帶有單個值
<?php
$con = mysqli_connect('localhost', 'root', '12345', 'fruit');
if ($_SERVER['REQUEST_METHOD'] != 'POST' && !isset($_POST['submit'])) {
echo '<form action="" method="post">
<input type="checkbox" name="fruits[]" value="Apple" />APPLE<br />
<input type="checkbox" name="fruits[]" value = "Lemon" />LEMON<br />
<input type="submit" name="submit" value="POST">
</form>';
}elseif ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit'])){
$fruit = $_POST['fruits'];
foreach ($fruit as $fruits){
$fruits = mysqli_real_escape_string($con, strip_tags($fruits));
}
$sql_add = mysqli_query($con, "INSERT INTO fruit (name) VALUES ('$fruits')");
if (mysqli_affected_rows($con) == 1) {
echo "Ok not problem.";
}else {
echo "There are some problem. Please submit your choice again.";
}
}
SQL請求?你是認真的嗎? – Fabien
這解決了這個問題,但確實會造成一些開銷。如果你檢查5個水果,你將有5倍的往返MySQL和5倍的語句解析。此插入現在不是原子的。如果你像這樣一次插入一行,並且你已經使用mysqli,那麼至少使用一個準備好的語句。但是否這是不好的一個意見。答案沒有錯。 – GolezTrol
@GolezTrol,請發送更好的選擇 –