kann ich nicht neu zuweisen Also bin ich kein Experte mit PHP und habe procedural seit jetzt gelernt, als ich mich entschieden habe, einige OOP auszuprobieren. Ich habe versucht, eine MySQL-Escape-Funktion zu erstellen, um SQL-Injection zu verhindern, aber der Fehler "Schwerwiegender Fehler: kann $ this nicht zuweisen" wird ausgespuckt.
public function escape($result) {
global $this->con;
return mysqli_real_escape_string($this->con, $result);
}
Wenn ich entfernen „global“, ist der Fehler nicht mehr vorhanden, aber so braucht.
Danke.
Glogal weist dem globalen Namensraum eine Variable zu. I.e. außerhalb Ihres Objekts, für jeden zu verwenden. $ this verweist auf die aktuelle Instanz Ihres Objekts. Sie können $ nicht global machen, das würde jedem erlauben, sich zu ändern. Erstellen Sie eine Instanz Ihres Objekts und ändern Sie den Wert von con dieser Instanz in Ihrem Code. – Nic3500
Das macht nicht einmal Sinn ... wenn Sie Zugriff auf '$ this-> con 'in diesem Bereich haben, dann können Sie es als Parameter in' mysqli_real_escape_string' (noch nicht mit vorbereiteten Anweisungen ...?) Übergeben genau dort - muss nicht global dafür sein. – CBroe
Sehen Sie dies: https://stackoverflow.com/questions/1523479/what-does-the-variable-this-mean-in-php – Nic3500