如何使用php将iOS应用程序连接到mySQL数据库

时间:2016-08-31 03:34:02

标签: php ios mysql swift

所以这是造成问题的一段代码。它给了我一个致命的错误,并说可选值为nil。

我该如何解决这个问题?这仅在我输入第一个字段(名称字段)然后提交时才会起作用,它会弹出我的数据库。但是,当我填写多个字段时,它会崩溃。

我的代码:

@IBAction func registerButtonTapped(sender: AnyObject) {

    let strURL: String = "http://www.blabla.com.eg/blabla.php?name=\(nameField.text!)&company=\(companyField.text!)&email=\(emailField.text!)&phonenumber=\(phoneNumberField.text!)"
    let dataURL: NSData = NSData(contentsOfURL: NSURL(string: strURL)!)!
    let strResult: String = String(data: dataURL, encoding: NSUTF8StringEncoding)!
    print("\(strResult)")


    self.dismissViewControllerAnimated(true, completion: nil)

}

1 个答案:

答案 0 :(得分:0)

当您尝试访问时,您的问题是您的一个(或多个)选项为零。如果您正在进行快速开发,了解选项很重要,我建议您阅读文档。

let dataURL: NSData = NSData(contentsOfURL: NSURL(string: strURL)!)!
let strResult: String = String(data: dataURL, encoding: NSUTF8StringEncoding)!

在上面的代码中,当你使用!时,你很快就会明白你是100%确定可选项包含一个值。在您构建网址NSURL(strUrl)!或调用NSData(...)构造函数并使用!展开其结果时,可能会出现问题。

尝试这样的事情:

if let url = NSURL(string: strURL) {
   if let data = NSData(contentsOfURL: url) {
       var strResult = String(data: data, encoding: NSUTF8StringEncoding)
       print(strResult ?? "Something Went Wrong")
   }
   else { // get rid of this else when you find your issue
       print("Could not instantiate an NSData object out of that url")
   }
}
else {  // get rid of this else when you find your issue
   print("Your URL is nil!, check the strUrl")
}

这里,我们首先打开NSURL,因为NSURL(字符串)构造函数返回一个可选项(您传递的字符串可能是无效的URL)。然后,我们打开NSData对象,然后在打印时合并strResult(因为它也是可选的)。