我有一個基本的註冊腳本,即時通訊編寫,我似乎無法修復它的一個小問題。MySQL&PHP,mysqli_num_rows總是返回0
好,這裏是代碼:
<?php
//MySQLi connection
$con = mysqli_connect("-","-","-","users");
if (mysqli_connect_errno())
{
echo "MySQLi Connection was not established: " . mysqli_connect_error();
}
//Reading the userdata from the registerp.php page
$usr = mysqli_real_escape_string($con,$_POST['username']);
$email = mysqli_real_escape_string($con,$_POST['email']);
$pass_unhashed = mysqli_real_escape_string($con,$_POST['pass']);
$pass = password_hash($pass_unhashed, PASSWORD_DEFAULT);
//Checking if user exists
$check_usr = mysqli_query($con,"SELECT FROM users WHERE user_name = $usr");
if (mysqli_num_rows($con,$check_usr)>=1)
{
echo "This Username already exists";
}
else
{
echo "This Username is available";
}
?>
問題是,我不能得到驗證(這樣的人不能兩次註冊相同的名字)一起工作:
$check_usr = mysqli_query($con,"SELECT FROM users WHERE user_name = $usr");
if (mysqli_num_rows($con,$check_usr)>=1)
{
echo "This Username already exists";
}
else
{
echo "This Username is available";
}
始終返回「這個用戶名是可用的「,即使我用來測試它的用戶(nevondrax)在MySQL表中(它看起來像click )
我可以在那兒動以某種方式? – Nevondrax
特定於編程和軟件開發的問題不在話下,請參閱[On-Topic](https://superuser.com.com/help/on-topic)。嘗試[所以],但請首先閱讀[我如何問一個好問題?](https://stacsuperuser.com.com/help/how-to-ask)。您可以標記您的問題,並請管理員遷移它。 – DavidPostill
你需要手動驗證'mysqli_query()'成功了,mysqli不會爲你做。一旦你這樣做了,你會注意到SQL解析錯誤。 –