Nếu máy chủ chỉ phản hồi yêu cầu hoạt động, thì vấn đề nằm trong máy chủ chứ không phải mã máy khách. Tôi khuyên bạn nên thêm một số xử lý lỗi trong mã 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);
?>
Ghi chú:
-
Tôi không khuyên bạn nên đăng nhập bằng
root
. -
Đảm bảo rằng bạn sử dụng
mysqli_real_escape_string
để tự bảo vệ mình trước các cuộc tấn công SQL injection (xem điểm 1). -
Tôi không biết liệu
user
của bạn bảng có các trường khác trong đó, nhưng nếu vậy, bạn có thể muốn chỉ định tên cột tronginsert
tuyên bố. Ngay cả khi bạn chỉ có hai cột đó, đó là một cách tốt để "chứng minh cho tương lai" mã của bạn. -
Lưu ý, tôi đã thay đổi điều này để tạo phản hồi JSON. Tôi làm điều đó vì nó giúp mã máy khách phân tích cú pháp và xử lý phản hồi dễ dàng hơn. Tôi sẽ để lại
NSJSONSerialization
cho bạn.