Als de server het verzoek gewoon laat herhalen, ligt het probleem bij de server, niet bij de clientcode. Ik zou willen voorstellen om wat foutafhandeling toe te voegen aan de PHP-code:
<?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);
?>
Opmerkingen:
-
Ik raad af om in te loggen als
root
. -
Zorg ervoor dat u
mysqli_real_escape_string
. gebruikt om uzelf te beschermen tegen SQL-injectie-aanvallen (zie punt 1). -
Ik weet niet of je
user
tabel bevat andere velden, maar als dat zo is, wilt u misschien de kolomnamen specificeren in deinsert
uitspraak. Zelfs als je alleen die twee kolommen hebt, is het een goede manier om je code "toekomstbestendig" te maken. -
Let op, ik heb dit gewijzigd om een JSON-reactie te genereren. Ik doe dat omdat het het voor de klantcode gemakkelijker maakt om het antwoord te ontleden en af te handelen. Ik laat de
NSJSONSerialization
voor jou.