PHP Programming:
Serialize This - Saving Objects In PHP
Monday, June 06, 2005 - 06:57 PM
When building my website "Crossword Heaven" I came across a problem. I created a PHP object called "crossword" but needed to save the information in the object to a database. Now considering that this object contained a lot of information this was not an easy thing to do. Or was it?
When building my website "Crossword Heaven" I came across a problem. I created a PHP object called "crossword" but needed to save the information in the object to a database. Now considering that this object contained a lot of information this was not an easy thing to do. Or was it?
The answer: serialize().
What the serialize() function does is take something like an array or object and converts it into a string that can be stored in a database. All I had to do so that I could save the crossword object is something like "serialize($crossword)." Easy! Some words of warning though. If you're using a version of PHP less than version 4 watch out because only properties get saved, not methods.
Here's a peek at the actual code:
$data = addslashes(serialize($crossword));
$name="";
if(isset($xwordInfo['xword_name'])){
$name = $xwordInfo['xword_name'];
}
$today = date('Y-m-d H-i-s');
$sql = "INSERT INTO `xword` ( `xword_id` , `xword_obj` ,
`xword_name`, `xword_owner`, `xword_width`,
`xword_height`,`xword_date`)
VALUES ('', '" . $data . "', '$name', '$owner',
'$width', '$height', '$today');";
Note: About the Author:
Kevin Davies is the webmaster of Crossword Heaven (http://www.crosswordheaven.com) - a site that lets you create and solve crosswords online. If you're a webmaster you can also link to crosswords. Crosswords are a great way to keep your visitors on your site and keep them returning.