サーバーにリクエストをエコーさせるだけで機能する場合、問題はクライアントコードではなく、サーバー内にあります。 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);
?>
注:
-
root
としてログインすることはお勧めしません 。 -
必ず
mysqli_real_escape_string
を使用してください SQLインジェクション攻撃から身を守るため(ポイント1を参照)。 -
user
かどうかわかりません テーブルには他のフィールドがありますが、その場合は、insert
で列名を指定することをお勧めします。 声明。これらの2つの列しかない場合でも、コードを「将来にわたって利用できる」ようにするための良い方法です。 -
これを変更して、JSON応答を生成することに注意してください。これを行うのは、クライアントコードが応答を解析して処理するのが簡単になるためです。
NSJSONSerialization
はそのままにしておきます あなたに。