Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

स्विफ्ट httppost डेटा MySQL डेटाबेस में नहीं डाला जा रहा है

यदि सर्वर के पास केवल अनुरोध काम करता है, तो समस्या सर्वर के भीतर होती है, क्लाइंट कोड नहीं। मैं 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);

?>

नोट:

  1. मैं root . के रूप में लॉग इन करने की अनुशंसा नहीं करूंगा ।

  2. सुनिश्चित करें कि आप mysqli_real_escape_string . का उपयोग करते हैं अपने आप को SQL इंजेक्शन हमलों से बचाने के लिए (बिंदु 1 देखें)।

  3. मुझे नहीं पता कि आपका user तालिका में अन्य फ़ील्ड हैं, लेकिन यदि ऐसा है, तो हो सकता है कि आप insert में कॉलम नाम निर्दिष्ट करना चाहें बयान। यहां तक ​​कि अगर आपके पास केवल वे दो कॉलम हैं, तो यह आपके कोड को "भविष्य-सबूत" करने का एक अच्छा तरीका है।

  4. नोट, मैंने इसे JSON प्रतिक्रिया उत्पन्न करने के लिए बदल दिया है। मैं ऐसा इसलिए करता हूं क्योंकि यह क्लाइंट कोड के लिए प्रतिक्रिया को पार्स करना और संभालना आसान बनाता है। मैं NSJSONSerialization छोड़ दूँगा आपको।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL किस प्रकार का हैश उपयोग करता है?

  2. MySQL:बिगिंट बनाम int

  3. XAMPP में mysql डेटाबेस को कैसे पुनर्स्थापित करें?

  4. MySQL मिलीसेकंड/माइक्रोसेकंड परिशुद्धता का समर्थन क्यों नहीं करता है?

  5. क्यूटी - कैसे प्राप्त करें | माइस्क्ल ड्राइवर संकलित करें