我不能解决这个错误“Column'Nume_elev'不能为空”
问题描述:
Table here... 我找不到问题,在它出演大约2小时后。这是输出:......哦,所以在需要发布更多细节忽略这个东西正是我想要的....我不能解决这个错误“Column'Nume_elev'不能为空”
if(empty($data_missing)){
require_once('./mysqli_connect.php');
$stmt = mysqli_prepare($dbc,"INSERT INTO elev(Nume_elev, Nume_Parinte, Numar_tel, Numar_Tel_P, ADRESA, elev_id) VALUES(?, ?, ?, ?, ?, NULL)");
if($stmt === FALSE){ die(mysqli_error($dbc)); }
mysqli_stmt_bind_param($stmt,"sssss", $Nume_elev, $Nume_Parinte, $Numar_tel, $Numar_Tel_P, $ADRESA);
mysqli_stmt_execute($stmt);
$affected_rows = mysqli_stmt_affected_rows($stmt);
if($affected_rows == 1){
echo 'Student Entered';
mysqli_stmt_close($stmt);
mysqli_close($dbc);
} else {
echo 'Error Occurred<br />';
echo mysqli_error($dbc);
mysqli_report(MYSQLI_REPORT_ERROR);
mysqli_stmt_close($stmt);
mysqli_close($dbc);
}
} else {
echo 'You need to enter the following data<br />';
foreach($data_missing as $missing){
echo "$missing<br />";
}
}
}
?>
答
不要使用NULL值的自动增量列
$stmt = mysqli_prepare($dbc,"INSERT INTO elev(Nume_elev, Nume_Parinte, Numar_tel, Numar_Tel_P, ADRESA)
VALUES(?, ?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt,"sssss", $Nume_elev, $Nume_Parinte, $Numar_tel, $Numar_Tel_P, $ADRESA);
另请检查$ Nume_elev的值。由于您声明Nume_elev列不能在数据库中为null,因此在将数据插入数据库时不会接受NULL或''值。
请决定哪些列的值是NULL并做出相应的数据库表中的变化。
+0
它帮助我,谢谢。现在我得到了另一个错误:d *我想哭* 你在你的SQL语法错误;检查与您的MariaDB服务器版本相对应的手册,以获得在第1行的')VALUES(s,s,s,s,s)'附近使用的正确语法' –
+0
解决了!谢谢 。 –
什么是'$ Nume_elev'? – chris85
可以请您出示电子表格(数据库)结构吗? –
您不应该将NULL插入到'elev_id'中,因为它是'AUTO_INCREMENT'列,只是将它完全从INSERT中移出。那不是你的错误。 – DavidG