sql >> Databasteknik >  >> RDS >> Mysql

Swift httppost-data infogas inte i MySQL-databasen

Om att låta servern bara eka förfrågan fungerar, så ligger problemet på servern, inte klientkoden. Jag skulle föreslå att du lägger till lite felhantering i PHP-koden:

<?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);

?>

Anmärkningar:

  1. Jag skulle inte rekommendera att logga in som root .

  2. Se till att du använder mysqli_real_escape_string för att skydda dig mot SQL-injektionsattacker (se punkt 1).

  3. Jag vet inte om din user tabellen har andra fält i sig, men i så fall kanske du vill ange kolumnnamnen i insert påstående. Även om du bara har dessa två kolumner är det ett bra sätt att "framtidssäkra" din kod.

  4. Obs, jag har ändrat detta för att generera JSON-svar. Jag gör det för att det gör det lättare för klientkoden att analysera och hantera svaret. Jag lämnar NSJSONSerialization till dig.




  1. Kolumnen "user_id" i fältlistan är tvetydig

  2. Hur man skriver om ÄR SKILJER FRÅN och SKILJER INTE FRÅN?

  3. Wildfly och automatisk återansluta till databasen

  4. SQL UPPDATERING Syntax – Listad av DBMS