De fout mysqli_escape_string gebruiken

Hoe komt het dat ik deze fout heb ontvangen als ik deze mysqli_real_escape_string() gebruik?

mysqli_real_escape_string() expects exactly 2 parameters, 1 given in C:\xampp\htdocs\beatbeast\reg.php on line 6

Ik geef de verbinding al over, en de snaren die nodig zijn om te ontsmetten, maar hoe komt het dat ik die fout blijf maken?

hier is mijn code

<?php
    class Db_DatabaseUtilities{

        public static function registerAccount($conn,$username,$password,$email){
            if(!isset($conn)){
                    echo"XDDDDDDDDD";
            }
            $username = mysqli_real_escape_string($conn,$username);
            $email =mysqli_real_escape_string($conn,$username);
            $password = mysqli_real_escape_string($conn,$password);
            $hashedpass = crypt($password,$username);

            $sql = "INSERT INTO accounts ('username','password','email') VALUES('{$username}','{$hashedpass}','{$email}')";
            Db_DatabaseUtilities::perform_query($conn, $sql);
        }

        public static function perform_query($conn,$sql){
            $result_set = $conn->query($sql);
            if(!$result_set){
                die("Die Database Query Failed");
            }else{
                return $result_set;
            }
        }       
    }
2

2 antwoord

eerst: als dit uw echte code is, ontsnapt u $ gebruikersnaam tweemaal en $ email helemaal niet:

$username = mysqli_real_escape_string($conn,$username);
$email =mysqli_real_escape_string($conn,$username);//should probably be $email as second param

je hebt een optie van twee problemen:

  1. you have a bad database connection...check your connection and make sure it has the encoding set.
  2. you have bad input data...one of your parameters may not be a valid string

Ik zie geen andere opties ... Succes

3
toegevoegd

Controleer de regel 6 van reg.php .

string mysqli_real_escape_string (mysqli $ link, string $ escapestr)

U moet de mysqli-verbinding doorgeven als de eerste parameter.

0
toegevoegd
maar ik heb het al gepasseerd
toegevoegd de auteur user962206, de bron
echo "XDDDDDDDDD"; dat is regel 6
toegevoegd de auteur user962206, de bron
@ user962206 Toon de code van regel 6 van reg.php ?
toegevoegd de auteur xdazz, de bron
@ user962206 Is het bestand reg.php ? regel 6 heeft geen mysqli_real_escape_string
toegevoegd de auteur xdazz, de bron