MySQLにデータを保存したい。私はPHPと私のコードを使用しています:Alamofire経由でSwift 3のMySQLにデータを挿入するにはどうすればいいですか?
<?php
header('Content-Type: text/html; charset=UTF-8');
//Connect to Database
include "Connect.php";
//getting values
$name = $_POST['name'];
$email = $_POST['email'];
//query
$q="INSERT INTO users (name, email) VALUES ($name,$email)";
if (mysqli_query($connection, $q)) {
$response['error']=false;
$response['message']="New record created successfully";
} else {
$response['error']=true;
$response['message']="Error: " . $q . "<br>" . mysqli_error($connection);
}
echo json_encode($response);
mysqli_close($connection);
そして私はAlamofireと私のコードを使用しています:私はXcodeのを実行すると
let parameters: Parameters = [
"name": "xxxx",
"email": "yyyy"
]
Alamofire.request(api, method: .post, parameters: parameters, encoding: URLEncoding.httpBody).responseJSON { response in
if let data = response.data {
let json = String(data: data, encoding: String.Encoding.utf8)
print("Response: \(json)")
}
}
、私はこのエラーを取得しています:
Response: Optional("{\"error\":true,\"message\":\"Error: INSERT INTO users (name, email) VALUES (xxxx,yyyy)<br>\"}")
私のコードで何が間違っていますか?
初心者の方には、** SQL Injection **の攻撃に対して広く公開されています。パラメータ化されたステートメントでは、文字列値を引用符で*ラップする必要がないため、あなた自身を守るために**パラメータ化されたステートメント**を使用してください。 –
@FranzGleichmann私は分かりません。 – Mayday