2017-03-27 12 views
-2

これは数時間デバッグされていて、うまくいかないようです。 Iveはセッションに情報を取り込み、クラスに入るセッションからフォームを取得しました。私のPHP関数をデータベースに挿入しないのはなぜですか?

function lagre($kunde) 
{ 
    $navn = $kunde->GetNavn(); 
    $telefon = $kunde->GetTelefon(); 
    $epost = $kunde->GetEpost(); 
    $antall = $kunde->GetAntall(); 

    $db = mysqli_connect("localhost","root","","Billett"); 
    if($db->connect_error) 
    { 
     die("Couldn't connect"); 
    } 
    else { 
     echo "Connected"; 
    } 

    $sql = "INSERT INTO `Billett`.`Billett` (`BillettID`, `Navn`, `Telefon`, `Epost`, `Antall`) VALUES (NULL, '$navn', '$telefon', '$epost', '$antall')"; 

    $resultat = mysqli_query($db,$sql); 

    if(!$resultat) 
    { 
     echo "<br> Values not inserted"; 
    } 
    else { 
     echo "<br> Values inserted"; 
    } 

} 

問題は値がデータベースに挿入しないことである:クラス内

フォーム - >セッション - >クラス - >データベース

は、次のようになります機能をtheresの。なぜ私はうまくいかない。何か案は?

+6

からあなたがエラーをチェックしませんので、あなたは間違っているのか分かりませんあなたのコード。コードが常に完璧に動作するとは決して考えないでください。 ['mysqli_error()'](http://php.net/manual/en/mysqli.error.php)を使用して、データベースから詳細なエラーメッセージを取得してください。 –

+0

私はエコーmysqli_error($ resultat)を追加します。何も印刷されません。それはエラーがないことを意味するのか、それとも私が見せないのか? – poppynor

答えて

-1

あなたは別の方法で

$sql = "INSERT INTO `Billett`.`Billett` (`BillettID`, `Navn`, `Telefon`, `Epost`, `Antall`) VALUES (NULL, '".$navn."', '".$telefon."', '".$epost."', '".$antall."')"; 
+0

*これはどのように問題を解決しますか?あなたは*なぜ*これが彼らの問題を解決すべきかを説明すべきです。クエリを作成する方法を変更するだけで何も修正してはいけません。 –

-1

を書いてみるあなたはAutocommitを使用していますか?ないなら、あなたはそれ以外の場合は、あなたのINSERTは固執しない、DBにデータをコミットする必要があります。

/* commit transaction */ 
if (!$mysqli->commit()) { 
    print("Transaction commit failed\n"); 
    exit(); 
} 

PHP documentation

+0

明示的に自動コミットをオフにしない限り、自動コミットはオンになっています。 –

関連する問題