When building my website "Crossword Heaven" I came across a problem. I created a PHP object called "crossword" but needed to save
information in
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
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
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
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');";
And here's
SQL to create
table 'xword':
CREATE TABLE `xword` ( `xword_id` int(11) NOT NULL auto_increment, `xword_obj` blob NOT NULL, `xword_name` varchar(100) NOT NULL default '', `xword_owner` varchar(100) NOT NULL default '', `xword_width` int(11) NOT NULL default '0', `xword_height` int(11) NOT NULL default '0', `xword_date` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`xword_id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ;