Cakeman
Legacy Member
Ik heb zopas zelf een mini-klasse gemaakt om een MySQL-database aan te spreken. Nu heb ik een probleem wanneer ik een instantie van die klasse binnen een functie wil gebruiken.
Dit geeft volgende fout: Fatal error: Call to a member function query() on a non-object
Dit is achteraf gezien logisch, omwille van de variable scope.
Ik heb het opgelost door de functie getPost als volgt te aan te maken:
Mijn code ziet er nu zo uit:
Nu werkt het wel.
Maar ik vraag me af of dit ik goede manier van werken is. Ik betwijfel het eerlijk gezegd
PHP:
$con = new Connectie("user", "pass", "host");
$con->connect();
function getPost($postid, $showcomments) {
$query = "select * from post where id=$postid";
$con->query($query);
}
getPost(5, true);
Dit is achteraf gezien logisch, omwille van de variable scope.
Ik heb het opgelost door de functie getPost als volgt te aan te maken:
PHP:
function getPost($postid, $showcomments, $connection)
Mijn code ziet er nu zo uit:
PHP:
$con = new Connectie("user", "pass", "host");
$con->connect();
function getPost($postid, $showcomments, $connection) {
$query = "select * from post where id=$postid";
$connection->query($query);
}
getPost(5, true, $con);
Maar ik vraag me af of dit ik goede manier van werken is. Ik betwijfel het eerlijk gezegd

(+ dat een extra parameter tov een globale declaratie een pluspunt is ivm security!)