我玩了一些PHP并开始使用数据库。我的目标是建立一个简单的注册系统和登录。我遇到的问题是我想检查所以我不会创建两个同名帐户。
我试图在IF语句中使用foreach语句,但这并不是那么受欢迎。 我的代码:
$sql = "SELECT * FROM account";
$stmt = $dbh->prepare($sql);
$stmt->execute();
$account = $stmt->fetchAll();
if ($_POST["newAccountName"] != "" && $_POST["newAccountName"] != ( foreach ($account as $login) {$login["accountName"]}) ) { }
我的问题是,可以在不使用&&的情况下检查乘法数据。介于一个和另一个之间? (就像我试过的循环一样)
答案 0 :(得分:4)
这是我用来检查记录是否存在的内容。
$mysqli = new mysqli("xxx","xxx", "xxx", "xxx");
$email = mysqli_real_escape_string($mysqli,$_POST['email']);
$sql = "SELECT email FROM users WHERE email = '$email'";
$result = mysqli_query($mysqli,$sql) or die(mysqli_error());
if (mysqli_num_rows($result) > 0)
{
die("Record exits.");
}
else
{
// Continue with insertion
}
要检查多个字段(多个),请使用
$sql = "SELECT email, username FROM users WHERE email = '$email' OR username = '$username'";
如果您要检查OR
而不是其中之一,则可以将AND
替换为{{1}}。