Re: problem with my class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Luke Slater wrote:
> On Thu, Apr 16, 2009 at 2:41 PM, Thijs Lensselink <php@xxxxxxxxxxxxxx
> <mailto:php@xxxxxxxxxxxxxx>> wrote:
> 
>     Luke wrote:
>     > 2009/4/16 Jan G.B. <ro0ot.w00t@xxxxxxxxxxxxxx
>     <mailto:ro0ot.w00t@xxxxxxxxxxxxxx>>
>     >
>     >> 2009/4/16 Luke <luke@xxxxxxxxxxxxxx <mailto: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?
> 
> 
> I changed the variables to $t $p and $s because I thought by naming them
> with $title $problem and $solution may have been getting them mixed up
> somehow.
> 
> I figured out the problem, which was that I was actually calling the
> saveRecipe() method without the parentheses.

Happens to the best :)

> 
> Too long programming in Perl -.-
> 
> Thanks for your help,
> 
> Luke Slater

Great you figured it out.

Regards,
Thijs

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux