sql >> データベース >  >> RDS >> Mysql

php+mysql挿入エラー

    私は実際にスクリプトを取得してサーバーにロードし、データベーステーブルを作成して、スクリプトをテストしました。

    送信ごとに挿入される行は1つだけです。

    スクリプトは正しく機能しています。

    ただし、テスト手順に欠陥があります。

    Firebugコンソールも確認しましたが、AJAX呼び出しは期待どおりに機能しています。

    他の診断がない限り、私はこれ以上あなたを助けることができないと思います。

    バグアラート
    コードにバグがあり、これからの人生に大きな悲しみをもたらすでしょう...

    if($stmt){
       echo "thank you .we will be in touch soon";
    }
    else{
        echo "there was an error. try again later.";
    }
    

    このif クエリが実行されるため、ステートメントは常にtrueと評価されます(もちろん、MySQLが実行されていない場合を除く)。

    挿入が成功したかどうかを確認することを目的としており、そのためには、以下を確認する必要があります。

    if($stmt->affected_rows){...}
    

    $stmt->affected_rows 失敗すると-1を返し、成功すると+1を返します。

    デバッグ戦略
    (1)レコードがいつ挿入されたかを確認できるように、タイムスタンプ付きのフィールドを追加します。これにより、何が起こっているのかについてより多くの洞察が得られます。

    (2)テーブルを空にして、コードを再試行してください。複数の挿入が行われていると思われるかもしれませんが、送信ボタンを4回押した可能性もあります。




    1. IDが同じ場合、Laravelは一意を検証します

    2. 部分インデックスまたはフィルター処理されたインデックスのmysqlでの回避策?

    3. CSVをインポートして、テーブルの1つの列のみを更新します

    4. mssqlはvarcharをfloatに変換します