2016-04-15 15 views
-1

Table here... 約2時間それを主演した後、私は問題を見つけることができません。これが出力されます:......ああそう投稿することが必要で、さらに詳細には、私が望んでいたまさにこの事を無視....私はこのエラーを解決できません "列 'Nume_elev'はnullにはできません

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

'AUTO_INCREMENT'カラムであるので、' elev_id'にNULLを挿入するべきではありません。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にする列の値を決定し、それに応じてデータベーステーブルを変更してください。

+0

それは私を助けました、ありがとう。今私は別のエラーを持っています:D *私は泣きたい* あなたはあなたのSQL構文に誤りがあります。あなたのMariaDBサーバーのバージョンに対応するマニュアルをチェックして、正しい構文が1行目の 'VALUES(s、s、s、s、s)'の近くで使用されるようにしてください。 –

+0

解決しました!ありがとう。 –

関連する問題