Jika meminta server hanya menggemakan permintaan berfungsi, maka masalahnya ada di dalam server, bukan kode klien. Saya akan menyarankan menambahkan beberapa penanganan kesalahan dalam kode 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);
?>
Catatan:
-
Saya tidak akan merekomendasikan masuk sebagai
root
. -
Pastikan Anda menggunakan
mysqli_real_escape_string
untuk melindungi diri Anda dari serangan injeksi SQL (lihat poin 1). -
Saya tidak tahu apakah
user
Anda tabel memiliki bidang lain di dalamnya, tetapi jika demikian, Anda mungkin ingin menentukan nama kolom diinsert
penyataan. Bahkan jika Anda hanya memiliki dua kolom tersebut, ini adalah cara yang baik untuk "membuktikan masa depan" kode Anda. -
Catatan, saya telah mengubah ini untuk menghasilkan respons JSON. Saya melakukannya karena memudahkan kode klien untuk menguraikan dan menangani respons. Saya akan meninggalkan
NSJSONSerialization
untuk Anda.