-1

我玩过一点 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"]}) ) { }

我的问题是,可以在一个和另一个之间不使用 && 的情况下检查多个语句吗?(就像我尝试过的循环一样)

4

1 回答 1

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

于 2013-10-16T18:25:16.623 回答