当我使用这个 mysqli_real_escape_string() 时,为什么总是收到这个错误?
mysqli_real_escape_string() expects exactly 2 parameters, 1 given in C:\xampp\htdocs\beatbeast\reg.php on line 6
我已经通过了连接,以及需要清理的字符串,但为什么我不断收到该错误?
这是我的代码
<?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;
}
}
}
最佳答案
首先:如果这是您的真实代码,您将转义 $username
两次,而 $email
根本不会转义:
$username = mysqli_real_escape_string($conn,$username);
$email =mysqli_real_escape_string($conn,$username);//should probably be $email as second param
您有两个问题可供选择:
- 您的数据库连接有问题...检查您的连接并确保它已设置编码。
- 您的输入数据错误...您的参数之一可能不是有效的字符串
我看不到任何其他选项... 祝你好运
关于php - 使用 mysqli_escape_string 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11177052/