PHP SQL SERVER登录凭据脚本
很难找到一个PHP脚本来帮助用户使用已经存在的凭据数据库进行表单身份验证,尝试了几个脚本,但每个脚本似乎都被相同的代码卡住了PHP SQL SERVER登录凭据脚本,php,pdo,sqlsrv,Php,Pdo,Sqlsrv,很难找到一个PHP脚本来帮助用户使用已经存在的凭据数据库进行表单身份验证,尝试了几个脚本,但每个脚本似乎都被相同的代码卡住了$sth->execute(数组(“uname”=>$\u POST[“username”],“upass”=>$encryptedpassword))。作为记录,我们已经有一个用于另一个web应用程序的现有凭据数据库,出于测试目的,我创建了一个带有纯文本用户凭据的虚拟数据库,请参见下一步 <?php $encryptedpassword = md5($_POST
$sth->execute(数组(“uname”=>$\u POST[“username”],“upass”=>$encryptedpassword))代码>。作为记录,我们已经有一个用于另一个web应用程序的现有凭据数据库,出于测试目的,我创建了一个带有纯文本用户凭据的虚拟数据库,请参见下一步
<?php
$encryptedpassword = md5($_POST['password']);
$db_myHost = "SERVERNAME";
$db_myUser= "sa";
$db_myPassword = "PASWORD";
$db_myDatabase = "DATABASE"
$dbconn = new PDO("sqlsrv:server=$db_myHost;Database=$db_myDatabase",$db_myUser,$db_myPassword);
try
{
$dbPDO = new PDO('sqlsrv:server='.$db_myHost.';Database='.$db_myDatabase, $db_myUser, $db_myPassword);
$dbPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e)
{
echo "Error!: " . $e->getMessage() . "
";
die();
}
//Check user credentials
$sth = $dbconn->prepare("SELECT * FROM wblgntst WHERE uname = :username AND upass = :password");
//CODE CAUSING ISSUE
$sth->execute(array("uname" => $_POST["username"], "upass" => $encryptedpassword));
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
session_start();
$_SESSION['userName'] = $row['uname'];
header("Location: list.php");
}
?>
错误
PHP警告:PDOStatement::execute():SQLSTATE[HY093]:无效
参数编号:中未定义参数
第28行的C:\inetpub\wwwroot\salesportal\php\login.php
停止寻找一些脚本,找到了真正的解决方案:您的占位符是:username
和:password
您不应该再使用MD5哈希@u_mulder我的占位符是:username
和:password
,这是什么意思?@u_mulder好的,我明白了,这行应该是next$sth->execute(数组(:username=>$\u POST[“username”],:password=>$encryptedpassword))代码>我试试这个。