我以前来过这里,这不是我的最后一次:P。我正在开发一个项目,它包含一个由用户完成的调查,结果将保存到特定的用户ID,后来被php文件抓取。我遇到的当前问题是在尝试提交表单时遇到以下错误
13
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''附近使用正确的语法
Number 13与分配给我正在使用的测试用户的userID相关。当使用ID 12时,所有寄存器都没有问题....任何建议?
<?php
ob_start();
error_reporting(E_ALL);
ini_set('display_errors', "On");
session_start();
if (!isset($_SESSION['username'])) {
header('location:/login.php');
}
$con= mysqli_connect("localhost", "root", "admin", "animator");
$query= "SELECT iduser FROM `animator`.`user` WHERE idaccount = " . $_SESSION['idaccount'] . ";";
$result= mysqli_query($con, $query);
$info= mysqli_fetch_array($result);
$userid= $info['iduser'];
$query= "SELECT idsurvey FROM `animator`.`questionnaire` WHERE iduser = " .$userid. ";";
$result2= mysqli_query($con, $query) or die(mysqli_error($con));
$info2= mysqli_fetch_array($result2);
$surveyid = $info2['idsurvey'];
echo $userid . "<br/>";
echo $surveyid;
$result->close();
for ($i = 0; $i < 18; $i++) {
$qnum= $i + 1;
$qstr= "q" . $qnum;
$query= "SELECT * FROM `animator`.`question` WHERE idquestion = '" . $qstr . "' AND idsurvey = 0 ;";
$qresult= mysqli_query($con, $query) or die(mysqli_error($con));
$qinfo= mysqli_fetch_array($qresult);
$question= $qinfo['question'];
$query= "SELECT * FROM `animator`.`question` WHERE idquestion = '" . $qstr . "' AND idsurvey = " . $surveyid . ";";
$qresult= mysqli_query($con, $query) or die(mysqli_error($con));
if (mysql_num_rows($qresult) > 0){
$query = "UPDATE `animator`.`question` SET answer = '" . $_POST[$qstr] . "' WHERE idquestion = '" . $qstr . "' AND idsurvey = " . $surveyid . ";";
}
else{
$query = "INSERT INTO `animator`.`question` (idquestion, idsurvey, question, answer)";
$query .= "VALUES ('" . $qstr . "', " . $surveyid . ", '" . $question . "', '" . $_POST[$qstr] . "');";
}
echo $query . "<br/>";
mysqli_query($con, $query) or die(mysqli_error($con));
echo "Inserted question " . $qnum;
}
echo "Questionnaire submitted successfully!";
?>
答案 0 :(得分:0)
结束了我的数据库问题。我的合作伙伴在创建测试用户后创建了一个表。因此,该表中没有该人的记录,导致一切都崩溃。
现在已经解决了。感谢您的快速回复!