Php 使用mysqli_escape_字符串错误
当我使用这个mysqli\u real\u escape\u string()时,为什么一直收到这个错误 我已经传递了连接,以及需要清理的字符串,但是我怎么会一直得到那个错误呢 这是我的密码Php 使用mysqli_escape_字符串错误,php,mysqli,Php,Mysqli,当我使用这个mysqli\u real\u escape\u string()时,为什么一直收到这个错误 我已经传递了连接,以及需要清理的字符串,但是我怎么会一直得到那个错误呢 这是我的密码 <?php class Db_DatabaseUtilities{ public static function registerAccount($conn,$username,$password,$email){ if(!isset($conn)){
<?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;
}
}
}
检查reg.php
的第6行
string mysqli\u real\u escape\u string(mysqli$link,string$escapestr)
您需要将mysqli连接作为第一个参数传递。首先:如果这是您的真实代码,您将转义两次$username
,而$email
根本不是:
$username = mysqli_real_escape_string($conn,$username);
$email =mysqli_real_escape_string($conn,$username);//should probably be $email as second param
您可以选择两个问题:
您的数据库连接不好…请检查您的连接,并确保它具有编码集
您的输入数据不正确…其中一个参数可能不是有效字符串
我看不到任何其他的选择。。。
祝你好运echo“xdddddd”;这是我的底线6@user962206文件是否为reg.php
?第6行没有mysqli\u real\u escape\u字符串
$username = mysqli_real_escape_string($conn,$username);
$email =mysqli_real_escape_string($conn,$username);//should probably be $email as second param