Swift 3.0を使用しているXcodeに問題があります。私はPHPでmysqlデータベースに情報を保存したいと思います。 phpコードに達しましたが、挿入リクエストで常に失敗を返します。私は知らない、それはアンドロイドでうまく動作します。ここに私のコードは次のとおりです。POSTが動作しないSWIFT PHP
スウィフト:
@IBAction func SignUp(_ sender: UIButton) {
var Name1: String = Name.text!
var Prenom: String = PRENAME.text!
var add: String = Addr.text!
var code:String = CP.text!
var mail:String = Email.text!
var pass:String = password.text!
var request = URLRequest(url: URL(string: "http://www.example.com/myscript.php")!)
request.httpMethod = "POST"
let postString = "name=\(Name1)&pname=\(Prenom)&add=\(add)&pc=\(code)&mail=\(mail)&pass=\(pass)"
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(error)")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(responseString)")
}
task.resume()
}
そして、私のPHPコード:
<?php
$reponse = array();
$pseudo = $_POST['name'];
$score = $_POST['pname'];
$add = $_POST['add'];
$pc = $_POST['pc'];
$mail = $_POST['mail'];
$password = $_POST['pass'];
$mysqli = new MySQLi("host","root","pass","user");
$result = $mysqli->query("INSERT INTO compte (Name,Name2,Ad,code,maiil,pass) VALUES('$pseudo','$score','$add','$pc','$mail','$password')");
if ($mysqli->connect_error){
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}
if($result){
$response["success"] = 1;
$response["message"] = "SUCCESS!";
echo json_encode($response);
}
else{
$response["success"] = 0;
$response["message"] = "FAILURE!";
echo json_encode($response);
}
アプリケーションは、問題が何であるかを教えていないとの事は時々データベース作業で挿入ですが、時々ではありません。だから、私は完全に失われています... –
失敗した場合、あなたはクエリを返します。エラーコードは返されていません。 '' FAILURE! ''の代わりに' $ mysqli-> error'を返すことをお勧めします。また、失敗した接続のテストは、クエリを実行する前に実行する必要があります。 – Rob
ありがとう!私は私のデータベースのメールを複製することを忘れてしまった、すべてがうまくいけば、それは完璧に動作します、ありがとう! –