【发布时间】:2014-08-25 13:35:51
【问题描述】:
使用 swift 从数据库 (MySQL) 获取、发布和检查数据需要做什么? 我可以只创建 php 页面并联系它们还是有办法管理它们?如果是,如何?
【问题讨论】:
标签: mysql ios iphone database swift
使用 swift 从数据库 (MySQL) 获取、发布和检查数据需要做什么? 我可以只创建 php 页面并联系它们还是有办法管理它们?如果是,如何?
【问题讨论】:
标签: mysql ios iphone database swift
(对不起我的英语)
是的,你需要一个 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
}
}
【讨论】: