![](/img/trans.png)
[英]How to check if user exists in database using ReactJs, PHP and MySQL?
[英]How to check if user exists in database using PHP
解決方案:SQL查詢后的末尾“放在錯誤的位置。並且在SQL查詢之前也聲明了$ user和$ password。同樣,謝謝。
我正在努力弄清為什么這行不通。 對我來說,這是完全合理的。
另外,我確實知道我的代碼可能使用的是舊技術,並且有注入風險,這僅是概念證明。
這是我的代碼:
<?php
$db = mysql_connect("localhost", "root", "root");
if (!$db) {
die("Database connect failed: " . mysql_error());
}
$db_select = mysql_select_db("test", $db);
if (!$db_select) {
die("Database selection failed: " . mysql_error());
}
$username = $_POST['username'];
$result=mysql_query("SELECT * FROM Dbusers (username,pass) WHERE username,pass ='$username','$pass'");
if(mysql_num_rows($result) == 1) {
header ("location: UniHelpindex.php");
}
else
{
echo ("Login Details Wrong");
}
?>
我的幫助讓我知道的任何事情。
這是語法錯誤:
WHERE username,pass ='$username','$pass'
您的意思是:
WHERE username = '$username' AND pass = '$pass'
另外,您在哪里定義$pass
? 如果您沒有定義它,那么SQL查詢可能只是在尋找一個可能與任何記錄都不匹配的空字符串(我希望如此)。
當查詢失敗時,系統不一定會直接告訴您。 (盡管在這種情況下, mysql_num_rows($result)
很可能引發錯誤。打開錯誤報告,檢查日志等。)看一下mysql_error()
函數,以便在mysql_query()
返回false
時檢查錯誤(發生錯誤時執行的操作)。
而且,是的,在此處插入標准免責聲明,表示您正在使用嚴重過時的庫,並且對SQL注入開放 。
我不確定,但是我認為您的SQL命令中的$ pass變量未定義。
不要使用mysql_,它已貶值。 改用mysqli_
$db=mysqli_connect('hostname','usrname','password','dbname')or die(<h2>some html code for showing the error</h2>);
$query="SELECT * FROM Dbusers WHERE username='$username' AND password='$password'";
$result=mysqli_query($db,$query);
if($mysqli_num_rows !=0){
//user was found stuff here
}else{
//user not found stuff here
}
**I hope it helped**
解決方案:SQL查詢后的末尾“放在錯誤的位置。並且在SQL查詢之前也聲明了$ user和$ password。同樣,謝謝。
使用類似的查詢
SELECT pass from Dbusers WHERE username = '$username' LIMIT 1
不過,這是非常不安全的,請在使用此類查詢之前清除數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.