我正在尝试使用php中的implode函数将多个选中的值插入表中但是我收到此错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
PHP
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "edusa_form")) {
$engine1 = implode(',', $_POST['written_tests']);
$insertSQL = sprintf("INSERT INTO edusa_regis (fname) VALUES ('$engine1'))");
HTML
<input name="written_tests[]" type="checkbox" id="written_tests[]" value="SAT" />
SAT
<input name="written_tests[]" type="checkbox" id="written_tests[]" value="ACT" />
答案 0 :(得分:1)
问题不在于implode
功能。您的查询语法错误。
$insertSQL = sprintf("INSERT INTO edusa_regis (fname) VALUES ('$engine1'))");
查询中还有一个右括号。
答案 1 :(得分:0)
在if语句中的$ _POST [&#34; MM_insert&#34;]之后以及)
'engine1'))
if ((isset($_POST["MM_insert"]) && ($_POST["MM_insert"] == "edusa_form")) {
$engine1 = implode(',', $_POST['written_tests']);
$insertSQL = sprintf("INSERT INTO edusa_regis (fname) VALUES ('$engine1')");
答案 2 :(得分:0)
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "edusa_form")) {
$engine1 = implode(',', $_POST['written_tests']);
$insertSQL = sprintf("INSERT INTO edusa_regis (fname) VALUES ('$engine1')");
mysqli_query($con, $insertSQL);
}