Поэтому я использую Swift 2 для разработки приложения. У меня есть база данных на phpmyadmin и я хостинг с использованием MAMP (так локально). Я пытаюсь создать простую страницу регистрации для своего приложения, поэтому, как только пользователь вводит имя пользователя и пароль, он должен сохранить его в моей базе данных. Моя база данных называется userAccounts, а таблица называется users. Он имеет две колонки: имя пользователя и пароль. Я написал код как в моем файле swift, так и в файле php, но он не вставляется в мою базу данных. Я не выяснил почему.
Это файл swift:
@IBOutlet var usernameTextField: UITextField!
@IBOutlet var passwordTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func pressButton(sender: AnyObject) {
let request = NSMutableURLRequest(URL: NSURL(string: "file:///Applications/MAMP/htdocs/userInsert.php")!)
request.HTTPMethod = "POST"let postString = "a=\(usernameTextField.text!)&b=\(passwordTextField.text!)"request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print("error=\(error)")
return
}
print("response = \(response)")
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
}
task.resume()
}
это файл php:
$user = 'x';
$password = '';
$db = 'userAccounts';
$host = 'localhost';
$port = 3306;
$link = mysqli_connect($host, $user, $password, $db);
mysqli_query($link,"GRANT ALL ON comment_schema TO 'oviya'@'localhost'");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$username = $_POST['a'];
$password = $_POST['b'];
$sql = "INSERT INTO `userAccounts`.`users` (`username`, `password`)
VALUES ('$username','$password')";
$result = mysqli_query($link, $sql);
echo "inserted into database Successfully"mysqli_close($link);
}
else {
die('comment is not set or not containing valid value');
}
когда я запускаю свое приложение, печатает весь мой php-файл в консоли и фактически ничего не вставляет в мою базу данных. Есть идеи, что я могу делать не так?
Измените свою инициализацию NSMutableURLRequest из:
let request = NSMutableURLRequest(URL: NSURL(string: "file:///Applications/MAMP/htdocs/userInsert.php")!)
чтобы:
let request = NSMutableURLRequest(URL: NSURL(string: "http://localhost/userInsert.php")!)
Других решений пока нет …