यदि सर्वर के पास केवल अनुरोध काम करता है, तो समस्या सर्वर के भीतर होती है, क्लाइंट कोड नहीं। मैं 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);
?>
नोट:
-
मैं
root
. के रूप में लॉग इन करने की अनुशंसा नहीं करूंगा । -
सुनिश्चित करें कि आप
mysqli_real_escape_string
. का उपयोग करते हैं अपने आप को SQL इंजेक्शन हमलों से बचाने के लिए (बिंदु 1 देखें)। -
मुझे नहीं पता कि आपका
user
तालिका में अन्य फ़ील्ड हैं, लेकिन यदि ऐसा है, तो हो सकता है कि आपinsert
में कॉलम नाम निर्दिष्ट करना चाहें बयान। यहां तक कि अगर आपके पास केवल वे दो कॉलम हैं, तो यह आपके कोड को "भविष्य-सबूत" करने का एक अच्छा तरीका है। -
नोट, मैंने इसे JSON प्रतिक्रिया उत्पन्न करने के लिए बदल दिया है। मैं ऐसा इसलिए करता हूं क्योंकि यह क्लाइंट कोड के लिए प्रतिक्रिया को पार्स करना और संभालना आसान बनाता है। मैं
NSJSONSerialization
छोड़ दूँगा आपको।