Php检查是否存在帐户
不知道为什么这张支票甚至没有显示一些回音文字…有人请解释一下为什么。张贴了所有的代码,希望你现在能解决问题。。。你给我的密码都试过了,但还是一无所获Php检查是否存在帐户,php,database,login,account,Php,Database,Login,Account,不知道为什么这张支票甚至没有显示一些回音文字…有人请解释一下为什么。张贴了所有的代码,希望你现在能解决问题。。。你给我的密码都试过了,但还是一无所获 <?php $servername = "localhost"; $dbUsername = "db_admin"; $dbPassword = "123"; $dbName = "DB"; $dbTable = "login"; $salt = ''; $salt .= substr(str_shuffle(sha1(microtim
<?php
$servername = "localhost";
$dbUsername = "db_admin";
$dbPassword = "123";
$dbName = "DB";
$dbTable = "login";
$salt = '';
$salt .= substr(str_shuffle(sha1(microtime())), 0, 40);;
$value_user =$_POST["usernameReg"];
$value_pass = $_POST["passwordReg"];
$value_pass = $salt . $value_pass . $salt;
$value_pass = sha1($value_pass);
$logCookieHashed = $salt . $value_user . $salt . $value_pass . $salt;
$logCookieHashed = sha1($logCookieHashed);
$conn = mysqli_connect($servername, $dbUsername, $dbPassword, $dbName);
$sqlGetID = "SELECT id FROM login ORDER BY id DESC LIMIT 1";
$result = mysqli_query($conn, $sqlGetID);
$row = mysqli_fetch_array($result);
$ID = $row['id'] + 1;
$addAcc = "INSERT INTO login (id, username, password, pwHash, logCookieHashed) Values (\"". $ID . "\", \"" . $value_user . "\", \"" . $value_pass . "\", \"" . $salt . "\", \"" . $logCookieHashed . "\");";
if( isset( $_POST["usernameReg"] ) ) {
$selectAcc = mysql_query("SELECT * FROM login WHERE username='$value_user'");
if(mysql_num_rows($selectAcc)>0)
{
echo "Username already taken";
}
else
{
mysqli_query($conn, $addAcc);
echo "You are now registered<br/>";
}
}
?>
可能有两个原因
1) mysql和mysqli是两种不同的语法。mysqli是mysql的扩展版本。你把两者都弄混了。使用mysql或mysqli
(二)
$sql=“从用户名为“$value\u user”的登录名中选择*;
$selectAcc=mysqli\u查询($conn,$sql);
$result=mysqli\u num\u行($selectAcc);
如果($result>1)
{
echo“用户名已被使用”;
}
其他的
{
mysqli_查询($conn,$addAcc);
echo“您现在已注册
”;
}
}可能有两个原因
1) mysql和mysqli是两种不同的语法。mysqli是mysql的扩展版本。你把两者都弄混了。使用mysql或mysqli
(二)
$sql=“从用户名为“$value\u user”的登录名中选择*;
$selectAcc=mysqli\u查询($conn,$sql);
$result=mysqli\u num\u行($selectAcc);
如果($result>1)
{
echo“用户名已被使用”;
}
其他的
{
mysqli_查询($conn,$addAcc);
echo“您现在已注册
”;
}
}
你能把代码写得怎么样吗先生
应该是这样的。
使用准备好的语句,因为mysql_uu函数已被弃用
你能把代码写得怎么样吗先生
应该是这样的。
使用准备好的语句,因为mysql_uu函数已被弃用
按照你的要求
尝试以下代码,这将解决您的问题。
$selectAcc="SELECT * FROM login WHERE username='$value_user'";
$rsult=mysql_query($selectAcc);
$count=mysql_num_rows ($rsult);
if($count==1){echo "username already in use"; }
else
{ echo "username is available";}
按照你的要求
尝试以下代码,这将解决您的问题。
$selectAcc="SELECT * FROM login WHERE username='$value_user'";
$rsult=mysql_query($selectAcc);
$count=mysql_num_rows ($rsult);
if($count==1){echo "username already in use"; }
else
{ echo "username is available";}
下面是代码的工作示例
<?php
$servername = "localhost";
$dbUsername = "db_admin";
$dbPassword = "123";
$dbName = "DB";
$dbTable = "login";
$salt = '';
$salt .= substr(str_shuffle(sha1(microtime())), 0, 40);;
header('Content-type: application/json');
$value_user =$_POST["usernameReg"];
$value_pass = $_POST["passwordReg"];
$value_pass = $salt . $value_pass . $salt;
$value_pass = sha1($value_pass);
$logCookieHashed = $salt . $value_user . $salt . $value_pass . $salt;
$logCookieHashed = sha1($logCookieHashed);
$conn = mysqli_connect($servername, $dbUsername, $dbPassword, $dbName);
$sqlGetID = "SELECT id FROM login ORDER BY id DESC LIMIT 1";
$result = mysqli_query($conn, $sqlGetID);
$row = mysqli_fetch_array($result);
$ID = $row['id'] + 1;
$addAcc = "INSERT INTO login (id, username, password, pwHash, logCookieHashed) Values (\"". $ID . "\", \"" . $value_user . "\", \"" . $value_pass . "\", \"" . $salt . "\", \"" . $logCookieHashed . "\");";
$checkUser = "SELECT username FROM login WHERE username = \"${value_user}\"";
$checkUserResult = mysqli_query($conn, $checkUser);
$checkUserResultRow = mysqli_fetch_array($checkUserResult);
if( isset( $_POST["usernameReg"] ) )
{
if($checkUserResultRow['username']!="")
{
echo "Username exists";
}
else
{
mysqli_query($conn, $addAcc);
echo "Success";
}
}
?>
以下是代码的工作示例
<?php
$servername = "localhost";
$dbUsername = "db_admin";
$dbPassword = "123";
$dbName = "DB";
$dbTable = "login";
$salt = '';
$salt .= substr(str_shuffle(sha1(microtime())), 0, 40);;
header('Content-type: application/json');
$value_user =$_POST["usernameReg"];
$value_pass = $_POST["passwordReg"];
$value_pass = $salt . $value_pass . $salt;
$value_pass = sha1($value_pass);
$logCookieHashed = $salt . $value_user . $salt . $value_pass . $salt;
$logCookieHashed = sha1($logCookieHashed);
$conn = mysqli_connect($servername, $dbUsername, $dbPassword, $dbName);
$sqlGetID = "SELECT id FROM login ORDER BY id DESC LIMIT 1";
$result = mysqli_query($conn, $sqlGetID);
$row = mysqli_fetch_array($result);
$ID = $row['id'] + 1;
$addAcc = "INSERT INTO login (id, username, password, pwHash, logCookieHashed) Values (\"". $ID . "\", \"" . $value_user . "\", \"" . $value_pass . "\", \"" . $salt . "\", \"" . $logCookieHashed . "\");";
$checkUser = "SELECT username FROM login WHERE username = \"${value_user}\"";
$checkUserResult = mysqli_query($conn, $checkUser);
$checkUserResultRow = mysqli_fetch_array($checkUserResult);
if( isset( $_POST["usernameReg"] ) )
{
if($checkUserResultRow['username']!="")
{
echo "Username exists";
}
else
{
mysqli_query($conn, $addAcc);
echo "Success";
}
}
?>
您正在混合mysql API!那么我该如何解决这个问题呢?@MisterTudi-您的第一个查询使用了mysql\u query
;第二个使用mysqli\u查询
。你应该选择一种访问数据库的方法并坚持使用它。你能按应该的方式编写代码吗?发布你的完整代码和数据库连接的代码,包括HTML表单的代码。你把每个人的时间都浪费在给出的答案上,而这些答案并不适合你。你在混合mysql API!那么我该如何解决这个问题呢?@MisterTudi-您的第一个查询使用了mysql\u query
;第二个使用mysqli\u查询
。你应该选择一种访问数据库的方法并坚持使用它。你能按应该的方式编写代码吗?发布你的完整代码和数据库连接的代码,包括HTML表单的代码。你在浪费每个人的时间来回答问题,而他们并不为你工作。也许消除SQL注入的可能性会有所帮助?同样。。。什么都没有发生…您能否验证$sql语句在数据库中是否正常工作?您能否提供您为变量$CONN分配了什么语句?删除sql注入的可能性可能会有帮助吗?相同。。。什么都没有发生…您能否验证$sql语句在数据库中是否正常工作,并提供您为变量$connmysqli_stmt::bind_param()[mysqli stmt.bind param]:变量数量与准备语句中的参数数量不匹配您是否编辑了$mysqli
变量?,变量$value\u user
是否已设置?将包含我的部分的代码粘贴到pastebin并链接到此处,您做错了什么。我发现了问题,谢谢!没问题,伙计,您现在还可以防止SQL注入:),祝您编码愉快!mysqli_stmt::bind_param()[mysqli stmt.bind param]:变量数量与准备语句中的参数数量不匹配您是否编辑了$mysqli
variable?,变量$value_user
是否已设置?将包含我的部分的代码粘贴到pastebin并链接到此处,你做错了。我发现了问题。谢谢!没问题,伙计,您现在还可以防止SQL注入:),祝您编码愉快!mysql_query()[function.mysql query]:第41行的/home/javanpmg/public_html/src/register.php中的用户'root'@'localhost'(使用密码:否)被拒绝访问警告:mysql_query()[function.mysql query]:第41行的/home/javanpmg/public_html/src/register.php中无法建立到服务器的链接警告:mysql_num_rows()预期参数1为resource,布尔值在第42行的/home/javanpmg/public_html/src/register.php中给出用户名可用我无法理解为什么会收到这些警告,代码对我来说运行良好。你能在问题中添加完整的代码吗?是的,我发布了所有的代码不要把mysql和mysqli混在一起!这是代码中的主要问题!mysql_query()[function.mysql query]:第41行的/home/javanpmg/public_html/src/register.php中的用户'root'@'localhost'(使用密码:否)被拒绝访问警告:mysql_query()[function.mysql query]:第41行的/home/javanpmg/public_html/src/register.php中无法建立到服务器的链接警告:mysql_num_rows()预期参数1为resource,布尔值在第42行的/home/javanpmg/public_html/src/register.php中给出用户名可用我无法理解为什么会收到这些警告,代码对我来说运行良好。你能在问题中添加完整的代码吗?是的,我发布了所有的代码不要把mysql和mysqli混在一起!这是代码中的主要问题!