Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dane Swift httppost nie są wstawiane do bazy danych MySQL

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:

  1. Nie polecam logować się jako root .

  2. Upewnij się, że używasz mysqli_real_escape_string aby chronić się przed atakami SQL injection (patrz punkt 1).

  3. Nie wiem, czy Twój user tabela zawiera inne pola, ale jeśli tak, możesz chcieć określić nazwy kolumn w insert oświadczenie. Nawet jeśli masz tylko te dwie kolumny, jest to dobry sposób na „zabezpieczenie” kodu na przyszłość.

  4. 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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Relacja należy do wielu w Laravel w wielu bazach danych

  2. Procedury składowane MySQL czy kod php?

  3. Nieprawidłowy tekst JSON w argumencie 2 - json_contains w MySQL 5.7.8

  4. Czy konieczne jest napisanie ROLLBACK, jeśli zapytania nie powiodą się?

  5. Parser PHP MySQL SQL (WSTAW i AKTUALIZACJA)