Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehler „Zugriff verweigert“ bei Verwendung von mysql_real_escape_string()

Das Problem ist, dass Sie Ihre Verbindung mit MySQLi hergestellt haben , rufen dann aber mysql_real_escape_string() auf . Sie beabsichtigen, mysqli_real_escape_string() aufzurufen entweder im prozeduralen Kontext oder im objektorientierten Kontext.

class Mysql 
{
    private $conn;

    function __construct() 
    {

        $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or 
                      die('No Connection to database!');
    }

    function add_non_member($data) 
    {
        $email = $data->email;

            // Procedural call
            $san_email = mysqli_real_escape_string($this->conn, $email);

            // Or OO call (recommended)
            $san_email = $this->conn->real_escape_string($email);

                // etc...
        }

  // etc...;
}