Нужна ваша помощь, данные IOS Swift Post для Json Alamofire

У меня есть текстовое поле, в котором я получаю данные из своей внешней базы данных через JSon. Теперь я бы хотел, чтобы мой пользователь мог изменить это поле и опубликовать его в базе данных. Но опять же, это не работает, база данных не изменилась. Пожалуйста, не могли бы вы просмотреть мой код:

PHP-код:

       <?php
/* include db.config.php */
include_once("config.php");
// Get user id
$username = isset($_POST['username']) ? mysql_real_escape_string($_POST['username']) : “”;
$data = isset($_POST['signature']) ? mysql_real_escape_string($_POST['signature']) : “”;

// get user data
mysql_query('SET NAMES "utf8"');
$sql = mysql_query("UPDATE users SET signature = '$data' WHERE username='$username'");

die;
mysql_close($conn);
/* JSON Response */

?>

Alamofire post func:

    @IBAction func Signature(sender: UIButton) {
var signaturesave1 = self.signature
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
var username = prefs.valueForKey("USERNAME") as NSString
//load and parse the JSON into an array
Alamofire.request(.POST, "http://mywebsite/app/data/jsonsavesignature.php", parameters: ["username": username, "signature":signaturesave1]).responseJSON { (request, response, data, error) in
if (error != nil)
{
// got an error in getting the data, need to handle it
println("error calling GET usersdata")
println(error)
}
else {

self.performSegueWithIdentifier("signature_to_persoinfo", sender: self)
}

}
}

1

Решение

Если вы обновляете существующие данные, вам нужно использовать запрос на обновление, а не вставить запрос. Вставить запрос, чтобы вставить новые данные. Так замени mysql_query("INSERT signature INTO users WHERE username='$username'"); с mysql_query("UPDATE users SET signature = '$data' WHERE username='$username'");где $ data — подпись пользователя.

2

Другие решения

Я получил ответ, спасибо Karthikeyani за вашу помощь, я публикую ответ, чтобы поделиться со всеми:

Мой PHP скрипт

 <?php

/* include db.config.php */
include_once("config.php");
// Get user id
$username = isset($_POST['username']) ? mysql_real_escape_string($_POST['username']) : “”;
$data = isset($_POST['signature']) ? mysql_real_escape_string($_POST['signature']) : “”;

// get user data
mysql_query('SET NAMES "utf8"');
$sql = mysql_query("UPDATE users SET signature = '$data' WHERE username='$username'");

mysql_close($conn);
/* JSON Response */

?>

мой запрос на сообщение Alamofire:

  @IBAction func Signature(sender: UIButton) {
var signaturesave1 = self.signature.text
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
var username = prefs.valueForKey("USERNAME") as NSString
let parameters =
["username": username, "signature":signaturesave1]

//load and parse the JSON into an array
Alamofire.request(.POST, "http://mywebsite.com/app/data/jsonsavesignature.php", parameters: parameters).responseJSON { (request, response, data, error) in

self.performSegueWithIdentifier("signature_to_persoinfo", sender: self)

}
}
-1

По вопросам рекламы [email protected]