On Jan 4, 2008 12:06 PM, afan pasalic <[EMAIL PROTECTED]> 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.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php