我有一小段代码,它将变量加载到数据库表中。
正如您所看到的,$insertResult
未输出,因此在if语句中失败,如果所有内容都按计划进行,则不会:
它应该使用$topInsert
查询表并将变量加载到表主题中。
$topName = $_POST['topName'];
$topCat = $_POST['topCat'];
$loggedUser = $_SESSION['loggedUser'];
echo $topCat;
$userID = "SELECT ID FROM users WHERE username = '$loggedUser'";
$getID = mysqli_query($connect, $userID);
$rowID = mysqli_fetch_array($getID);
$userID = $rowID['ID'];
echo $userID;
$topInsert = "INSERT INTO topics(topicSubject, topicDate, topicCat, topicBy) VALUES('$topName', NULL, '$topCat', '$userID')";
$insertResult = mysqli_query($connect, $topInsert);
if(!$insertResult){
echo "<p style='margin-top: 75px;'>Error: Data could not be loaded to the database. Please try again.</p>";
$sqlRoll = "ROLLBACK;";
$rollResult = mysqli_query($connect, $sqlRoll);
}
到目前为止,我非常确定表中的所有数据类型都与我尝试输入的内容正确对应,但无法弄清楚哪些数据类型无法正常工作。
我从昨天起就一直在努力解决这个问题,并且已经决定我需要一些帮助来确定哪些代码失败了。
如果我遗漏了任何内容,请随时要求发布更多信息。
我感谢任何回复。
答案 0 :(得分:1)
设置topicDate列以允许PHPADMIN中的NULL值或不在查询中放置NULL
答案 1 :(得分:0)
试试这个。
$topName = $_POST['topName'];
$topCat = $_POST['topCat'];
$loggedUser = $_SESSION['loggedUser'];
echo $topCat;
//check if connection to database is succesfull first, then
$result = "SELECT ID FROM users WHERE username = '$loggedUser'";
if($result->num_rows >0){
while($row = $result->fetch_assoc()){
$userID = $row["ID"];
}
}
$sql = "INSERT INTO topics(topicSubject, topicDate, topicCat, topicBy) VALUES('$topName', NULL, '$topCat', '$userID')";
if(mysqli_query($con, $sql)){
echo "Succesfully added"."<br>";
}
else{
echo "Data could not be loaded"."<br>";
}
mysqli_close($connect);