如何检查IF语句中的数组

时间:2013-10-16 18:02:44

标签: php database loops if-statement

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

我的问题是,可以在不使用&&的情况下检查乘法数据。介于一个和另一个之间? (就像我试过的循环一样)

1 个答案:

答案 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}}。