PHP mysql_real_escape_string 返回空字符串

标签 php mysql database mysql-real-escape-string

我正在尝试对我的数据库应用程序(针对一个类)进行一些安全性和清理工作。首先,我尝试使用 mysql_real_escape_string,但每当我使用它时,它总是返回一个空字符串!

这是连接代码:

include_once ("./connect.php");
$db_connection = new mysqli($SERVER, $USERNAME, $PASSWORD, $DATABASE);
if (mysqli_connect_errno()) {
    echo("Can't connect to MySQL Server. Error code: " . mysqli_connect_error());
    return null;
}
$field = mysql_real_escape_string($_GET['value']);
$upc = $_GET['upc'];
$type = $_GET['field_type'];
echo $field;
echo $upc;
echo $type;

当 php 实际执行时,会打印 $upc 和 $type,但 $field 没有任何内容。我试过使用中间字符串,但我得到了相同的结果。我真的不知道这里出了什么问题。

另外,我在 $field 上做了一个 var_dump,它声称 mysql_real_escape_string 返回 FALSE,这应该发生在不是连接(?),但有一个。

最佳答案

您使用的是mysqli,而不是mysql,所以您需要mysqli_real_escape_string

虽然你可以很容易地在 mysqli 中使用准备好的语句,然后你也不需要...

关于PHP mysql_real_escape_string 返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10339373/

相关文章:

mysql - 如何修复命令 "mysql -v"上的错误

php - 如何对不同的文件夹使用__autoload?

php - 无法使用 adodb 将字符串传递给 MySQL 存储过程

php - 获取 SQL Server 查询结果并在单击后发布到新查询中

php - 创建 SQL 查询,根据满足的条件对结果进行排序

mysql - 如何计算数据库中具有特定值的列数(查询)

php - UTF-8贯穿始终

PHP:SQL 准备语句事务无法正常工作。它插入 1 个 SQL 语句,而不是两者

database - Android:是否可以访问与我的应用程序 bundle 在一起的 sqlite 文件?

php - MySQL使用foreach将多个图像连接到相册并在页面上显示