好的,正如标题所述,我想了解如何将SQL数据库中的字符串与PHP字符串进行比较。
<!DOCTYPE html>
<html>
<head>
<title>Processing Request</title>
<link rel="Stylesheet" href="style.css" type="text/css" />
</head>
<body>
<h1>Account Creation</h1>
<h3>
<?php
$dbhost = "localhost";
$username = "root";
$password = "";
$connect = mysqli_connect("$dbhost", "$username", "$password");
$db = "accounts";
if (!$connect){
die("ERROR: Database connection failed: " . mysqli_connect_error());
}
mysqli_select_db($connect, $db);
$makeUser = $_POST["makeUser"];
$makePass = $_POST["makePass"];
$sql = "INSERT INTO accounts (username, password) VALUES ('$makeUser', '$makePass')";
if("SELECT username FROM accounts WHERE username = '$makeUser'"){
上面的代码行是我尝试将SQL数据库中的值(来自“ accounts”表中“ username”列)与用户输入的用于创建帐户($ makeAccount)的字符串进行比较的地方。假设这段特定的代码告诉用户是否已经尝试使用要为其帐户设置用户名的用户名。
但是,每次我运行此代码(并将用户名输入我可以在数据库中直观看到的表单中)时,它仍然表示该用户名已被使用,即使它没有被定义。
header("Location: createaccount.php?status=userTaken");
}
else{
mysqli_query($connect, $sql);
echo "Account creation was succesful!";
}
mysqli_close($connect);
?>
Click <a href="index.php">here</a> to login.
</h3>
</body>
</html>
谢谢,所有答案都可以得到。:)
PS:这是我用PHP编写的第一个程序,也是我第一次使用SQL数据库,因此,请尝试使其简单易懂。
PSS我尝试了许多解决方案,但都没有成功。
请更改比较的if语句
从
if("SELECT username FROM accounts WHERE username = '$makeUser'"){
至
if(mysqli_query("SELECT username FROM accounts WHERE username = '$makeUser'")){
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句