Jeśli serwer ma tylko echo żądania, to problem tkwi w serwerze, a nie w kodzie klienta. Sugerowałbym dodanie obsługi błędów w kodzie 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);
?>
Uwagi:
-
Nie polecam logować się jako
root
. -
Upewnij się, że używasz
mysqli_real_escape_string
aby chronić się przed atakami SQL injection (patrz punkt 1). -
Nie wiem, czy Twój
user
tabela zawiera inne pola, ale jeśli tak, możesz chcieć określić nazwy kolumn winsert
oświadczenie. Nawet jeśli masz tylko te dwie kolumny, jest to dobry sposób na „zabezpieczenie” kodu na przyszłość. -
Uwaga, zmieniłem to, aby wygenerować odpowiedź JSON. Robię to, ponieważ ułatwia to kodowi klienta analizowanie i obsługę odpowiedzi. Zostawię
NSJSONSerialization
do ciebie.