Actualmente estoy experimentando un error extraño.Cómo insertar datos binarios en MSSQL usando PDO
La configuración: MSSQL Server 2012 Express con un LocalDB La tabla de destino colación es: SQL_Latin1_General_CP1_CI_AS
PHP 5.3.9 en un servidor Zend 5.6 MCrypt con MCRYPT_RIJNDAEL_256 y MCRYPT_MODE_ECB
Sublime Text 2 por defecto codificación (Lo leí es BOM UTF8)
Estoy utilizando PDO con el adaptador MS oficial para el servidor MSSQL. Todo funciona bien, aparte de una cosa: No puedo escribir una fila en mi tabla de administrador debido a la contraseña.
permite echar un vistazo a mi contraseña cifrada:
y"ûƒ^äjw¾bðúl5êù-Ö=W¿Š±¬GP¥Œy÷&ø
Ésta es la DOP Traza:
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
Cuando uso mi Centro de Gestión de MSSQL puedo insertar mi fila con exactamente el mismo SQL consulta. La configuración de la columna está bien supongo:
["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)"
utilizo declaraciones preparadas y la función bindParam
con opciones adicionales para no ejecutar mis instrucciones SQL.
Si alguien tiene una idea, cómo solucionar eso, por favor, hágamelo saber. ¡Cualquier tipo de ayuda se agradece!
No estoy seguro acerca de ms sql, pero debe haber una manera de declarar una columna binaria, es decir, sin codificación o intercalación. –
@Jack, gracias por el comentario. Después de eso probé las columnas binarias y varbinary, pero esas tampoco funcionan. – Richard
Bien, ¿hay alguna manera de vincular quizás el parámetro como binario en PDO? –