einfügen Ich habe derzeit einen seltsamen Fehler.Wie binäre Daten in MSSQL mit PDO
Das Setup: MSSQL Server 2012 Express mit einem localdb Die Zieltabelle Sortierungs ist: SQL_Latin1_General_CP1_CI_AS
PHP 5.3.9 auf einem Zend Server 5.6 MCrypt mit MCRYPT_RIJNDAEL_256 und MCRYPT_MODE_ECB
Sublime Text 2 default Kodierung (Ich lese es ist UTF8 BOM)
Ich verwende PDO mit dem offiziellen MS-Adapter für den MSSQL-Server. Alles funktioniert gut abgesehen von einer Sache: Ich kann keine Zeile in meiner Administrator-Tabelle wegen des Passworts schreiben.
Werfen wir einen Blick auf mein verschlüsseltes Passwort haben:
y"ûƒ^äjw¾bðúl5êù-Ö=W¿Š±¬GP¥Œy÷&ø
Dies ist die PDO Trace:
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
Als ich meine MSSQL Management Center verwenden kann ich meine Reihe mit der exakt gleichen SQL einfügen Abfrage. Die Säule Einrichtung ist in Ordnung, ich nehme an:
["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)"
ich vorbereitete Anweisungen und die bindParam
Funktion keine zusätzliche Optionen zu meinen SQL-Anweisungen ausführen.
Wenn jemand eine Idee hat, wie man das löst, lass es mich wissen. Jede Art von Hilfe wird geschätzt!
Nicht sicher über ms sql, aber es muss eine Möglichkeit geben, eine binäre Spalte zu deklarieren, dh keine Codierung oder Sortierung. –
@Jack, Danke für den Kommentar. Danach habe ich die Binär- und Varbinary-Spalten ausprobiert, aber auch diese funktionieren nicht. – Richard
Okay, gibt es eine Möglichkeit, den Parameter möglicherweise als binär in PDO zu binden? –