Re: function I created doesn't work

From: Date: Fri, 04 Jan 2008 18:34:31 +0000
Subject: Re: function I created doesn't work
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-266628@lists.php.net to get a copy of this message
On Jan 4, 2008 12:28 PM, afan pasalic <afan@afan.net> wrote: > > Daniel Brown wrote: > > On Jan 4, 2008 12:06 PM, afan pasalic <afan@afan.net> wrote: > >> hi > >> I have function > >> function get_content($client_id, $form_id, $index1) > >> { > >> $query = mysql_query(" > >> SELECT content > >> FROM infos > >> WHERE client_id=".$client_id." AND > >> form_id=".$form_id." AND > >> index1='".$index1."'"); > >> if (mysql_num_rows($query) > 0) > >> { > >> $result = mysql_fetch_assoc($query); > >> return $result['content']; > >> } > >> else > >> { > >> get_content(0, 0, $index1); // get default value > >> } > >> } > >> > >> When I call it > >> $CONTENT = get_content(12, 104, 'merchant'); > >> echo $CONTENT; // empty, nothing > >> > >> But if I use global in the function > >> > >> function get_content($client_id, $form_id, $index1) > >> { > >> global $CONTENT; > >> $query = mysql_query(" > >> SELECT content > >> FROM infos > >> WHERE client_id=".$client_id." AND > >> form_id=".$form_id." AND > >> index1='".$index1."'"); > >> if (mysql_num_rows($query) > 0) > >> { > >> $result = mysql_fetch_assoc($query); > >> $CONTENT = $result['content']; > >> } > >> else > >> { > >> get_content(0, 0, $index1); > >> } > >> } > >> > >> > >> get_content(12, 104, 'merchant'); > >> echo $CONTENT; # Shows correct. > >> > >> What's wrong with first solution? > >> > >> Thanks for any help. > > > > Functions only use variables within their own scope, unless > > explicitly told to consider a variable as a global (or if the variable > > is a SUPERGLOBAL). > > > not quite sure I understand?!? > :( > > The fundamentals of PHP (and general programming): working with globals. Specifically for PHP, some required reading: http://us.php.net/global -- Daniel P. Brown [Phone Numbers Go Here!] [They're Hidden From View!] If at first you don't succeed, stick to what you know best so that you can make enough money to pay someone else to do it for you.

« previous php.general (#266628) next »