Question

$attacks_list = array();

function f1()
{     
    $sql = "SELECT * FROM user_pokemon_db WHERE user_id = '".$id."' AND pkmn_id = '".$pkmn_id."' " or die(mysql_error());
    $res = mysql_query($sql);
    $$attacks_list = mysql_result($res,0,"attacks");
    $attacks_list = unserialize($attacks_list);
    print_r($attacks_list);
 }    

I have already declared the array globally..!But still its not able to identify it! Is there any other way to declare it globally?

Was it helpful?

Solution

If you wish to use a global within a function, you must declare it to be global at function level too, e.g.

$attacks_list = array();

function f1()
{     
    global $attacks_list; // <-- ADDED
    $sql = "SELECT * FROM user_pokemon_db WHERE user_id = '".$id."' AND pkmn_id = '".$pkmn_id."' " or die(mysql_error());
    $res = mysql_query($sql);
    $$attacks_list = mysql_result($res,0,"attacks");
    $attacks_list = unserialize($attacks_list);
    print_r($attacks_list);
 }   

Have a look at the php.net article on variable scope for more information too: http://www.php.net/manual/en/language.variables.scope.php

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top