2017-08-30 16 views
-1

これは動作しますが、データをデータベースに追加すると、データは2回になります。私の構文が間違っているのか、コードが間違っているのか分かりません。PHPとMySQLによるデータの挿入

+2

あなたの逆行が同じ値に対して2回実行される可能性があります – scaisEdge

+2

これはおそらく、あなたが 'while'の中でクエリを実行しているために起こります。 – DontVoteMeDown

+0

@DontVoteMeDown何ができますか?私はそれを変える方法を知らない。 –

答えて

0

あなたは$reservationsでレコードごとにループしているので、あなたが複数の挿入を取得している:

はここ構造です。最初に、単一のレコード予約が必要な場合は、複数のレコードを取得する理由を調べる必要があります。

if(isset($_POST['submitBtn']) && $row = mysqli_fetch_array($reservation)){ 

    if($row['reservefrom'] == $checkin) die("Same Date"); 

    $lastname = $_POST['text_lastname']; 
    $firstname = $_POST['text_firstname']; 
    // ... other values, then execute your query 

}else{ 
    // either submitBtn was not posted or no result were found in $reservation 
} 
私はあなたのコードで returnを使用しますが、それは混乱だように、コードが関数内にあると思われないことにも気づいた

:さておき、とあなたwhileループを置き換えることで、あなたのコードを変更

。それが関数内にある場合、関数が具体的にブラウザに直接データを送ることを意図していない限り、echoからは、おそらく悪い考えです。

関連する問題