Я пытаюсь отправить данные в php и вставить их в базу данных mysql, но она не работает. Я попытался отправить данные на php только для того, чтобы закодировать его на json и вернуть его обратно в swift, и он возвращает результат, поэтому это означает, что файл php получил данные. Однако вставка данных не работает.Быстрые данные httppost, не вставляемые в базу данных MySQL
swift2 HttpPost
func post() {
let myUrl = NSURL(string: "http://localhost:8080/json/json.php");
let request = NSMutableURLRequest(URL:myUrl!);
request.HTTPMethod = "POST"
// Compose a query string
let postString = "firstName=James&lastName=Bond";
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil
{
print("error=\(error)")
return
}
// You can print out response object
print("response = \(response)")
// Print out response body
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
//Let’s convert response sent from a server side script to a NSDictionary object:
do{
let myJSON = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableLeaves) as? NSDictionary
if let parseJSON = myJSON {
// Now we can access value of First Name by its key
let firstNameValue = parseJSON["firstName"] as? String
print("firstNameValue: \(firstNameValue)")
}
}catch let error as NSError {
print("JSON Error: \(error.localizedDescription)")
}
}
task.resume()
}
json.php
<?php
// Read request parameters
$firstName= $_REQUEST["firstName"];
$lastName = $_REQUEST["lastName"];// Store values in an array
$conn = mysqli("localhost", "root", "root", "notify");
$query = mysqli_query($conn, "INSERT INTO user values('', '$firstName',
'$lastName')");
?>
Где назвать ваши поля? Вы вставляете запрос не права проверки синтаксиса SQL первого –
@RahulSaxena Это не обязательно ошибка SQL (как имена столбцов не являются обязательными, если вы поставляете все столбцы в 'INSERT' заявление). Но вы правы, поскольку лучше всего включать имена столбцов. – Rob