Übergeben Sie es an die Methode selbst
Sie müssen das Datenbankobjekt an die Methode übergeben, da sie sich nicht im selben Gültigkeitsbereich befinden:
function runQuery($mysqli)
und nenne es wie
$a = new theClass;
$a->runQuery($mysqli);
Übergeben Sie es an den Konstruktor
Wenn Ihre Klasse viele Datenbankaufrufe durchführt, können Sie sie einfach im Konstruktor übergeben und für die spätere Verwendung als private Variable speichern:
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>";
}
}
};
und nenne es wie
$a = new theClass($mysqli);
$a->runQuery();
Beide Methoden machen deutlich, dass die Abhängigkeit Ihrer Klasse ein mysqli-Objekt ist, was gut für die zukünftige Wartung und Lesbarkeit ist.