2016-04-15 102 views
-1

Table here... 我找不到问题,在它出演大约2小时后。这是输出:......哦,所以在需要发布更多细节忽略这个东西正是我想要的....我不能解决这个错误“Column'Nume_elev'不能为空”

This is the output

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 />"; 

    } 

} 

} 

?> 
+2

什么是'$ Nume_elev'? – chris85

+0

可以请您出示电子表格(数据库)结构吗? –

+1

您不应该将NULL插入到'elev_id'中,因为它是'AUTO_INCREMENT'列,只是将它完全从INSERT中移出。那不是你的错误。 – DavidG

回答

1

不要使用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

解决了!谢谢 。 –

相关问题