簡體   English   中英

需要您的幫助,IOS Swift將數據發布到Json Alamofire

[英]Need your help, IOS Swift Post data to Json Alamofire

我有一個textlbabelfield,可以通過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發布功能:

    @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)
    }

        }
}

如果要更新現有數據,則需要使用更新查詢,而不是插入查詢。 插入查詢是要插入新數據。 因此,替換mysql_query("INSERT signature INTO users WHERE username='$username'"); 使用mysql_query("UPDATE users SET signature = '$data' WHERE username='$username'"); ,其中$ data是用戶的簽名。

我得到了答案,感謝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)

        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM