Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MS SQL作为数据库的PHP登录页面_Php_Sql Server_Login - Fatal编程技术网

使用MS SQL作为数据库的PHP登录页面

使用MS SQL作为数据库的PHP登录页面,php,sql-server,login,Php,Sql Server,Login,只是想问一下,我如何才能使一个登录页面中的用户将输入用户名和密码。我这里有一个简单的代码,但它不起作用: if(isset($_POST['submit'])){ $user = $_POST['usr']; $pass = $_POST['pwd']; $query = "SELECT * FROM [master].[dbo].[userTbl] WHERE [username] = '$user' AND [password] = '$pass'"; $result = sqls

只是想问一下,我如何才能使一个登录页面中的用户将输入用户名和密码。我这里有一个简单的代码,但它不起作用:

if(isset($_POST['submit'])){
  $user = $_POST['usr']; 
  $pass = $_POST['pwd'];
$query = "SELECT * FROM [master].[dbo].[userTbl] WHERE [username] = '$user' AND [password] = '$pass'";
$result = sqlsrv_query($conn,$query);
if($user == $pass){
echo "Success";
}else{ 
echo "Invalid username/password";
别担心$conn,这是我的数据库连接,它100%正常工作。
请随意编辑我的代码或提供一些输入,我知道这里的验证部分有问题。

我已编辑了您的代码,以计算具有匹配用户名和密码的行数。如果计数为1,则仅登录

$query = "SELECT * FROM [master].[dbo].[userTbl] WHERE [username] = '$user' AND [password] = '$pass'";
$result = sqlsrv_query($conn,$query);
$num = sqlsrv_num_rows($result);
if($num==1){
    echo "Success";}
else{
    echo "Invalid username/password";}

语法错误,缺少双引号。另外,您使用的是哪个PHP版本
sqlsrv_query()
在您的PHP版本中可能不可用。为什么您的
Success
条件
$user==$pass
?这没有道理。我认为您的
成功
条件需要计算您的
$result
返回的行数。伙计们,我使用的是最新版本的php,sqlsrv仅适用于MS SQL。我的数据库是MS SQL,是的,我确实需要计数,在这种情况下我不知道我建议使用PDO而不是sqlsrv_查询。更多信息:我更喜欢sqlsrv,因为这是我的web项目的最后一部分:D,我不想使用不同的语法,我尝试了这个,但我尝试输入正确的用户名和密码,但它返回“无效用户名/密码”,我应该在哪里添加代码来验证用户名和密码是否正确。我们通过计算具有相同组合的行数来验证用户名和密码。这种情况在数据库中只能发生一次或0次。0=未找到此类组合时。1=当找到一个组合时。嗯,我试着在我的数据库中创建一个示例,其中我尝试添加用户名和密码。用户名:root密码:root,试图在文本框中输入,但仍回显“无效用户名/密码”