Re: function I created doesn't work

From: Date: Fri, 04 Jan 2008 17:28:41 +0000
Subject: Re: function I created doesn't work
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-266627@lists.php.net to get a copy of this message
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?!? :(

« previous php.general (#266627) next »