Ich habe ein PHP-Skript, das eine einzigartige E-Mail zu einer MySQL-Datenbank hinzufügt. Der PHP-Skript ist:mehrere Einträge in Datenbank
<?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();
}
}
?>
ich dieses Skript aus einer schnellen Datei am Zugriff auf:
@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()
}
}
Aber mehrere Einträge in der Datenbank hinzugefügt:
databse screen shot
Ich lief die Schleife, um zu überprüfen, ob viele Benutzer versuchen, reg iter mit der gleichen E-Mail gleichzeitig. Wie kann ich nur eine Instanz dieses PHP-Skripts ausführen und andere in der Warteschlange lassen. Bitte helfen Sie mir, wenn ich hier feststecke.
Haben Sie versucht, zuerst eine 'COUNT()' Anweisung auszuführen? Auch Sie verwenden PDO und Sie verwenden nicht bind, um gegen Injektion zu schützen '" SELECT username VON Benutzern WHERE E-Mail LIKE '$ email' ";' – Rasclatt
Danke notiert ... wird es in PHP-Datei –
enthalten, wie kann ich integrieren count() here –