php - 使用 mysqli_escape_string 错误

标签 php mysqli

当我使用这个 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

您有两个问题可供选择:

  1. 您的数据库连接有问题...检查您的连接并确保它已设置编码
  2. 您的输入数据错误...您的参数之一可能不是有效的字符串

我看不到任何其他选项... 祝你好运

关于php - 使用 mysqli_escape_string 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11177052/

相关文章:

php - Mysqli_multi_query 是否提高性能

javascript - javascript数组中的引用错误

php - Mysql日期错误

php - 导入任何 custom.js 文件时 JSON 提要中断

javascript - 将 php 输出到 javascript 时出现语法错误

php - $mysql->info 什么都不返回

php - 排序记录编号,然后按字母顺序排序

php - MySQLi,PHP,动态生成自动化的preparedStatement

php - 在 Elasticsearch 格式错误的查询中按日期范围搜索

php - Android onScroll 从 MySQL/PHP/JSON 加载更多结果