【发布时间】:2016-07-02 12:37:02
【问题描述】:
我在 php 中有以下代码:
$salt = bin2hex(openssl_random_pseudo_bytes(22));
$hash = crypt($this->input->post("defpswd"), "$2y$12$".$salt);
如果我尝试将 $hash 值保存到带有 varbinary 数据类型字段的 MSSQL 数据库表中,我会收到错误消息:
[Microsoft][ODBC SQL Server Driver][SQL Server]隐式转换 不允许从数据类型 varchar 到 varbinary。使用转换 运行此查询的函数。
$hash 变量包含:
'$2y$12$35695d29f921c713eba4fu1VY0q6VF6HryPH9HjiLvHOoupXWvPn.'
如果我使用 is it possible to convert a string to varbinary in PHP without using the SQL function 中的二进制文件来转换 $hash,我会得到相同的错误。 我正在使用带有 odbc 连接的 CodeIgniter 和 MSSQL 数据库。我做错了什么?谢谢。
【问题讨论】:
标签: php sql-server codeigniter odbc