我資料庫有一個欄位是這樣存的,
array ( 1 => array ( \'id\' => 1, \'name\' => \'測試\', \'desc\' => NULL, \'url\' => \'http://163.com\', \'parent\' => 0, ),)
寫了個備份的程式,匯出以後的格式也沒有錯
INSERT INTO `table` VALUES('names','array ( 1 => array ( \'id\' => 1, \'name\' => \'測試\', \'desc\' => NULL, \'url\' => \'http://163.com\', \'parent\' => 0, ), )','key');
但是再用程式匯入到資料庫中以後,這個欄位的內容就變了,應該是PDO把\'去掉了,也把分行符號去掉了,導致我的資料不能再次使用。。。
array ( 1 => array ( 'id' => 1, 'name' => '測試', 'desc' => NULL, 'url' => 'http://163.com', 'parent' => 0, ),)
額,因為一些情況,我不想用serialize和unserialize
回複內容:
我資料庫有一個欄位是這樣存的,
array ( 1 => array ( \'id\' => 1, \'name\' => \'測試\', \'desc\' => NULL, \'url\' => \'http://163.com\', \'parent\' => 0, ),)
寫了個備份的程式,匯出以後的格式也沒有錯
INSERT INTO `table` VALUES('names','array ( 1 => array ( \'id\' => 1, \'name\' => \'測試\', \'desc\' => NULL, \'url\' => \'http://163.com\', \'parent\' => 0, ), )','key');
但是再用程式匯入到資料庫中以後,這個欄位的內容就變了,應該是PDO把\'去掉了,也把分行符號去掉了,導致我的資料不能再次使用。。。
array ( 1 => array ( 'id' => 1, 'name' => '測試', 'desc' => NULL, 'url' => 'http://163.com', 'parent' => 0, ),)
額,因為一些情況,我不想用serialize和unserialize
呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵, 首先,你看似直接存了數組進去,實際上取出來根本不能用。只是個字串而已。除非你eval,安全性和效能都不如序列化。哪怕你json格式化也行啊。
PDO預設的exec和query不支援過濾。請使用prepare