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混在一起!这是代码中的主要问题!