【问题标题】:MySQL online DB access in swift快速访问 MySQL 在线数据库
【发布时间】:2014-08-25 13:35:51
【问题描述】:

使用 swift 从数据库 (MySQL) 获取、发布和检查数据需要做什么? 我可以只创建 php 页面并联系它们还是有办法管理它们?如果是,如何?

【问题讨论】:

    标签: mysql ios iphone database swift


    【解决方案1】:

    (对不起我的英语)

    是的,你需要一个 php 脚本

    在您的 swift 文件中:

    var bodyData = "name=value" //To get them in php: $_POST['name']
    
    
        let URL: NSURL = NSURL(string: "URL TO YOUR PHP FILE")
        let request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
        request.HTTPMethod = "POST"
        request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
        {
                (response, data, error) in
                var output = NSString(data: data, encoding: NSUTF8StringEncoding) // new output variable
                var array = self.JSONParseArray(output)
        }
    

    在 php 中:

    function sendResponse($status = 200, $body = '', $content_type = 'text/html')
    {
        $status_header = 'HTTP/1.1 ' . $status;
        header($status_header);
        header('Content-type: ' . $content_type);
        echo $body;
    }
    
    $name = $_POST['name']; // Like in the bodyData var
    
    //Doing sql things
    
    $result = array(
        "result" => "VARIABLE TO SEND BACK"
    );
    
    
    sendResponse(200, json_encode($result));
    

    如果您不想在数组中获取结果,请使用此函数:

    func JSONParseArray(jsonString: String) -> Array<String> {
        var e: NSError?
        var data: NSData!=jsonString.dataUsingEncoding(NSUTF8StringEncoding)
        var jsonObj = NSJSONSerialization.JSONObjectWithData(
            data,
            options: NSJSONReadingOptions(0),
            error: &e) as Array<String>
        if e == 0 {
            return Array<String>()
        } else {
            return jsonObj
        }
    }
    

    【讨论】:

    • 第三个代码是如何工作的?此时我收到一个错误 var jsonObj = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions(0), error: &e) as Array 致命错误:在展开可选值时意外发现 nil
    • 您需要将输出提供给此函数,然后将其返回但在数组中
    • 看看我更新的第一个代码检查输出和数组变量
    • 你试过了吗:var array = self.JSONParseArray(output) (with the self.)
    • 你有什么测试版的 xCode?​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2010-09-05
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多