php pdo 显示二进制,php – 如何使用PDO将二进制数据插入到MSSQL中

我目前遇到一个奇怪的错误.

设置:

带有localdb的MSSQL Server 2012 Express

目标表归类为:SQL_Latin1_General_CP1_CI_AS

Zend Server 5.6中的PHP 5.3.9

MCrypt与MCRYPT_RIJNDAEL_256和MCRYPT_MODE_ECB

Sublime Text 2的默认编码(我读的是UTF8 BOM)

我正在使用PDO与MSSQL服务器的官方MS适配器.一切都有效:

由于密码,我无法在管理员表中写入一行.

让我们看看我的ENCRYPTED密码:

y"ûƒ^äjw¾bðúl5êù-Ö=W¿Š±¬GP¥Œy÷&ø

这是PDO跟踪:

Array

(

[0] => IMSSP

[1] => -7

[2] => An error occurred translating string for input param 3 to UCS-2: No mapping for the Unicode character exists in the target multi-byte code page.

)

SQL: [120] INSERT INTO administrator ( [username], [email], [password], [section] ) VALUES(:username, :email, :password, :section)

Params: 4

Key: Name: [9] :username

paramno=0

name=[9] ":username"

is_param=1

param_type=2

Key: Name: [6] :email

paramno=1

name=[6] ":email"

is_param=1

param_type=2

Key: Name: [9] :password

paramno=2

name=[9] ":password"

is_param=1

param_type=2

Key: Name: [8] :section

paramno=3

name=[8] ":section"

is_param=1

param_type=2

当我使用我的MSSQL管理中心我可以插入我的行与完全相同的SQL查询.

列设置好,我想:

["id"]=>

string(3) "int"

["username"]=>

string(12) "nvarchar(45)"

["email"]=>

string(12) "nvarchar(45)"

["password"]=>

string(12) "varbinary(45)"

["section"]=>

string(11) "nvarchar(7)"

["country_code"]=>

string(11) "nvarchar(2)"

我使用准备好的语句和bindParam函数,没有额外的选项来执行我的SQL语句.

如果有人有一个想法,怎么解决,请让我知道.任何帮助是赞赏!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值