프로그래밍2009.12.17 14:02
http://php.net/manual/fr/function.serialize.php

php에서 객체를 문자열로 변환해서 DB에 저장할 때가 있다. 이때 주의할 점..
반환 값이 

Returns a string containing a byte-stream representation of value that can be stored anywhere.
바이트 스트림이기 때문에 일반적인 문자열로 생각할 경우 곤란할 경우가 생긴다.

If you are serializing an object with private variables, beware. The serialize() function returns a string with null (\x00) characters embedded within it, which you have to escape. Not great if you're trying to save objects into a DB...
위의 글과 마찬가지로 private 변수를 사용할 경우
null 값이 들어가기 때문에 자칫 c나 php 함수를 사용해서 db에 저장하는 경우 중간에 끊기는 경우가 발생할 수 있다.
가장 쉬운 방법은 blob(bytea) 형태로 넣는 것이다.


dbms에서 만약에 만약에 .. blob 형태를 지원하지 않는다고 할 땐..............
base64_encode()를 사용해서 들어갈 수 있도록 바꾸고 하면 됨. 끝.




저작자 표시 비영리 변경 금지
신고
Posted by 시난
TAG ,