-1

私はphpで少し遊んで、データベースから始めました。私の目標は、簡単な登録システムとログインを作成することです。私が抱えている問題は、同じ名前で 2 つのアカウントを作成しないように確認したいということです。

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 に答える