У меня есть PHP-скрипт, который добавляет уникальное письмо в базу данных mysql. PHP скрипт:несколько записей в базе данных
<?php
try {
$pdo = new PDO('mysql:host=localhost;dbname=ourdatabase', 'shyam', 'mypassword');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');
}
catch (PDOException $e) {
exit();
}
try {
$email=$_POST['email'];
$sql = "SELECT username FROM users WHERE email LIKE '$email'";
$result = $pdo->query($sql);
} catch (PDOException $e) {
exit();
}
if ($row = $result->fetch()) {
$resturant[] = array('status' => "userexists");
echo json_encode($resturant);
exit();
} else {
try {
$sql = 'INSERT INTO users SET
email = :mailaddress,
password = :password,
tagline = :tagline';
$s = $pdo->prepare($sql);
$s->bindValue(':mailaddress', $_POST['email']);
$s->bindValue(':password', $_POST['password']);
$s->bindValue(':tagline', $_POST['tagline']);
$s->execute();
exit();
} catch (PDOException $e) {
exit();
}
}
?>
я доступ к этому скрипту стремительного файла:
@IBAction func registerClick(sender: AnyObject) {
let url:NSURL = NSURL(string: url_to_request)!
let session = NSURLSession.sharedSession()
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData
let paramString = "email=\(email.text!) & password=\(password.text!) & tagline=\(tagline.text!)"
request.HTTPBody = paramString.dataUsingEncoding(NSUTF8StringEncoding)
for index in 1...10{
let task = session.dataTaskWithRequest (request, completionHandler: {data, response, error -> Void in })
task.resume()
}
}
Но несколько записей добавляются в базе данных:
экрана Databse выстрел
Я запустил цикл, чтобы проверить, пытаются ли многие пользователи зарегистрироваться ister с тем же адресом электронной почты в одно и то же время. Как я могу запустить только один экземпляр этого скрипта PHP и позволить другим быть в очереди. Помогите, если я застрял здесь.
Вы пытались запустить инструкцию 'COUNT()'? Также вы используете PDO, и вы не используете привязку для защиты от инъекций '' SELECT username FROM users WHERE email LIKE '$ email' ";' – Rasclatt
Спасибо, отметил ... будет включать его в php-файл –
, как я могу включить count() здесь –