亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查輸入框中的字符串是否等于 SQL SERVER、PHP 中的 varbinary(max) |

檢查輸入框中的字符串是否等于 SQL SERVER、PHP 中的 varbinary(max) |

PHP
夢里花落0921 2021-11-19 16:22:13
我的登錄頁面有問題。我正在將我的密碼從字符串轉換為varbinary(max),我現在的問題是如何比較或驗證我輸入的用于登錄的字符串是否等于表中存儲的數據。例子。我的密碼轉換前的值為12345。通過 轉換后CONVERT(varbinary(max),'12345'),數據現在反映為0x3132333435。如果轉換為 varbinary(max) 0x3132333435,我將如何驗證我在輸入框中輸入的密碼 (12345) 是否與該值相似?我使用 SQL SERVER 2012、XAMPP 和 SQLSRV 進行連接。非常感謝你提前。這是我的login.php<?php    session_start();    include 'includes/conn.php';    if (isset($_POST['login'])) {        $username = $_POST['username'];        $password = $_POST['password'];        $sql = "SELECT username,cast(password as varchar(max)) as password FROM usermasterfile WHERE username ='$username'";        include 'query/sqlsrv_query-global.php';        if (sqlsrv_num_rows($query) < 1) {            $_SESSION['error'] = 'Cannot find account with the username';        } else {            $row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);            if ($password == $row['password']) {                $_SESSION['employeeidno'] = $row['employeeidno'];            }            else{                $_SESSION['error'] = 'Incorrect password';            }        }    }    else{        $_SESSION['error'] = 'Input credentials first';    }    header('location: index.php');?>編輯:修復它!SELECT *,cast(password as varchar(max)) as maxpassword FROM usermasterfile WHERE username ='$username'";````
查看完整描述

1 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

您可以將 varbinary 轉換回 varchar 值作為


SELECT cast(0x3132333435 as varchar(max)) as varchar_value


varchar_value

-------------

12345

因此,請在代碼的比較部分使用上述轉換。


查看完整回答
反對 回復 2021-11-19
  • 1 回答
  • 0 關注
  • 172 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號