PHPでいくつかの配列をシリアル化し、それらをmysql列に挿入していTEXT
ます。
一部のデータが正しく挿入されていません。挿入ステートメントの例、
$q = $this -> dbc -> prepare("INSERT INTO table (files) VALUES(?)");
$q -> execute(array(serialize($files)));
配列の値はstrlen
65,000より小さいので、 mysql 列$files
への最大挿入のために短くなりません。TEXT
serialized($files)
挿入前のデータ、
string 'a:4:{s:4:"CD 1";a:20:{s:32:"01 - Can´t Talk To That Girl.mp3";i:4558470;s:22:"02 - No Pla // CONTINUES FOR SOME TIME
$files
データベースから取得した値、
a:4:{s:4:"CD 1";a:20:{s:32:"01 - Can
文字で短くカットされているようですが´
、PDO についての私の理解は、準備されたクエリのすべての文字を適切にエスケープするということでしたか?
私のPDO接続が次のように設定されていることに注意してくださいUTF-8
。
どうすればこれを防ぐことができますか?
ありがとう
編集
UTF-8
これは、PDOがこのように動作する理由についてのアイデアへの接続を設定したためであることを確認できますか?