Geef het door aan de methode zelf
Je moet het database-object doorgeven aan de methode, omdat ze niet in hetzelfde bereik liggen:
function runQuery($mysqli)
en noem het als
$a = new theClass;
$a->runQuery($mysqli);
Geef het door aan de constructor
Als je klas veel database-aanroepen doet, kun je het gewoon doorgeven aan de constructor en het opslaan als een privévariabele voor later gebruik:
class theClass
{
private $mysqli;
function __construct($mysqli) {
$this->mysqli = $mysqli;
}
function runQuery()
{
$query = "SELECT col_1 FROM db.table";
$stmt = $this->mysqli->prepare($query);
stmt->execute();
$stmt->bind_result($r);
while($stmt->fetch())
{
echo $r . "<br>";
}
}
};
en noem het als
$a = new theClass($mysqli);
$a->runQuery();
Beide methoden maken duidelijk dat de afhankelijkheid van je klasse een mysqli-object is, wat goed is voor toekomstig onderhoud en leesbaarheid.