Luke wrote: > 2009/4/16 Jan G.B. <ro0ot.w00t@xxxxxxxxxxxxxx> > >> 2009/4/16 Luke <luke@xxxxxxxxxxxxxx>: >>> Hi guys, >>> >>> I've been learning about object oriented programming and I wrote this >> test >>> class but it doesn't seem to be working, it throws no errors but doesn't >>> insert anything to the database either. I have made sure that the data >> being >>> sent when the class is instantiated is valid. >>> >>> I'm probably missing something simple here... >>> >> Are you actually calling your public function? >> >> $x = new RecipeCreator('a', 'b', 'c'); >> $x->saveRecipe(); >> >> You might want to insert some error reporting... >> >> echo mysql_error(); and alike >> >> >> Byebye >> >> >> >> >>> I have already >>> >>> class RecipeCreator >>> { >>> private $rtitle; >>> private $problem; >>> private $solution; >>> >>> function __construct ($t, $p, $s) >>> { >>> if(!isset($t, $p, $s)) >>> { >>> throw new Exception ('Missing parameters for >>> __construct, need $title $problem and $solution'); >>> } >>> >>> $this->rtitle = mysql_real_escape_string($t); >>> $this->problem = mysql_real_escape_string($p); >>> $this->solution = mysql_real_escape_string($s); >>> } >>> >>> public function saveRecipe() >>> { >>> $query = "INSERT INTO recipe (title, problem, solution) >>> VALUES ('".$this->rtitle."', >>> >>> '".$this->problem."', >>> >>> '".$this->solution."')"; >>> mysql_query($query); >>> } >>> } >>> >>> Many thanks, >>> Luke Slater >>> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > > Yes I am doing that. The query seems to be going through all right too I > tested the syntax in mysql query browser and tried mysql_error() but there > was nothing. > I think there's an issue with the __construct because when I wrote a method > in there to return one of the properties of the function, it turned up > blank! As I said before the variables I'm passing in are definitely valid... > And what happens when you instantiate your object without parameters? $foo = new RecipeCreator(); It should throw and exception. This way you at least know if your constructor is functioning properly. And take a look at the message you throw when the parameters are not set. The parameters are named $t, $p, $s but the message in the throw statement uses $title, $problem, $solution did you try echoing out the query and run it from phpMyAdmin or something similar? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php