我得到"无效的sql显示大小"尝试通过PHP从SQL Server中获取行时

时间:2017-04-26 20:52:57

标签: php sql-server

所以我决定在我的用户表和我的登录页面上哈希密码字段,我需要检查以确保他们输入了正确的密码。所以在这里我从表中获取密码:

$stmt = sqlsrv_query( $conn, "SELECT * FROM Users where Username='".$user."'");

$passhash = "";

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {

       $passhash = $row['PwHash'];    
}

这很好用。但是,当我尝试散列他们输入的密码时,如下所示:

$stmt = sqlsrv_query( $conn, "select HASHBYTES('SHA2_512', '".$pw."') as PwHash");

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
        $typedpasshash = $row['PwHash'];
 }

我收到以下错误:

  

致命错误:第39行的C:\ xampp \ htdocs \ login.php中的sql_display_size无效

指向sqlsrv_fetch_array。我已经找到了一些尝试处理它的方法,但没有任何作用。我表中的PwHash字段是binary(64)数据类型。有什么想法吗?

0 个答案:

没有答案