Re: function I created doesn't work

From: Date: Fri, 04 Jan 2008 18:24:47 +0000
Subject: Re: function I created doesn't work
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-266624@lists.php.net to get a copy of this message
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). -- 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 (#266624) next »