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

SwifthttppostデータがMySQLデータベースに挿入されない

    サーバーにリクエストをエコーさせるだけで機能する場合、問題はクライアントコードではなく、サーバー内にあります。 PHPコードにエラー処理を追加することをお勧めします:

    <?php
    
    // specify that this will return JSON
    
    header('Content-type: application/json');
    
    // open database
    
    $con = mysqli_connect("localhost","user","password","notify");
    
    // Check connection
    
    if (mysqli_connect_errno()) {
        echo json_encode(array("success" => false, "message" => mysqli_connect_error(), "sqlerrno" => mysqli_connect_errno()));
        exit;
    }
    
    // get the parameters
    
    $field1 = mysqli_real_escape_string($con, $_REQUEST["firstName"]);
    $field2 = mysqli_real_escape_string($con, $_REQUEST["lastName"]);
    
    // perform the insert
    
    $sql = "INSERT INTO user (first_name, last_name) VALUES ('{$field1}', '{$field2}')";
    
    if (!mysqli_query($con, $sql)) {
        $response = array("success" => false, "message" => mysqli_error($con), "sqlerrno" => mysqli_errno($con), "sqlstate" => mysqli_sqlstate($con));
    } else {
        $response = array("success" => true);
    }
    
    echo json_encode($response);
    
    mysqli_close($con);
    
    ?>
    

    注:

    1. rootとしてログインすることはお勧めしません 。

    2. 必ずmysqli_real_escape_stringを使用してください SQLインジェクション攻撃から身を守るため(ポイント1を参照)。

    3. userかどうかわかりません テーブルには他のフィールドがありますが、その場合は、insertで列名を指定することをお勧めします。 声明。これらの2つの列しかない場合でも、コードを「将来にわたって利用できる」ようにするための良い方法です。

    4. これを変更して、JSON応答を生成することに注意してください。これを行うのは、クライアントコードが応答を解析して処理するのが簡単になるためです。 NSJSONSerializationはそのままにしておきます あなたに。




    1. GroupByの最初の行と最後の行

    2. OracleでQuarterFromDateを取得するにはどうすればよいですか?

    3. スタンドアロンの全文検索サーバーの選択:SphinxまたはSOLR?

    4. 列を一覧表示せずに、すべての列で同じ集計を実行するにはどうすればよいですか?