Reputation: 19
I'm trying to make a function that returns the id number of a certain user, but I can't access a variable that I declared in the function when I'm calling the function.
function loadlink($users){
global $database, $rowz, $results;
$results = $database->query("SELECT * FROM users WHERE username = '{$users}'");
$rowz = $results->fetch_all(MYSQLI_ASSOC);
var_dump( $rowz); //returns basic array info
}
var_dump( $rowz); //returns "NULL"
loadlink('RandomUser');
var_dump( $rowz); returns the array info if I call loadlink() first, but the thing is that I want to use the $rowz variable when calling loadlink() to access a property of the returned associative array, but it doesn't return anything.
Upvotes: 0
Views: 49
Reputation: 91744
You should really return from your function what you need it to return and not use global variables for that.
But yes, it is possible using the $GLOBALS
array although you would need to call your function first before you can access the variables you set in it:
function loadlink($users){
global $database;
$GLOBALS['results'] = $database->query("SELECT * FROM users WHERE username = '{$users}'");
$GLOBALS['rowz'] = $results->fetch_all(MYSQLI_ASSOC);
}
// run function first to initialize the necessary variables
loadlink('RandomUser');
var_dump($rowz); //returns basic array info
Upvotes: 1