-3
私はPHPの専門家でなく、OOPを試してみることにしました。私はSQLインジェクションを防ぐためにMySQLのエスケープ関数を作成しようとしましたが、 "致命的なエラー:$ thisを再割り当てできません"というエラーは吐き出されます。
public function escape($result) {
global $this->con;
return mysqli_real_escape_string($this->con, $result);
}
「グローバル」を削除するとエラーは表示されなくなりますが、そのようなものは必要ありません。
ありがとうございました。
グローバル名空間に変数を割り当てます。私。あなたのオブジェクトの外側に、誰もが使用できるようにします。 $ thisはオブジェクトの現在のインスタンスを参照します。 $ thisをグローバルにすることはできません。そうすれば誰もがconを変更することができます。オブジェクトのインスタンスを作成し、コード内のそのインスタンスのconの値を変更します。 – Nic3500
それは意味をなさない...もしあなたがそのスコープ内の '$ this-> con'にアクセスできるなら、' mysqli_real_escape_string'(それでもプリペアドステートメントを使用していません...?)をパラメータとして渡すことができますそこには世界全体である必要はありません。 – CBroe
これを参照してください:https://stackoverflow.com/questions/1523479/what-does-the-variable-this-mean-in-php – Nic3500