php - 替代 mysql_real_escape_string (access_denied)

标签 php mysql

我目前使用 sphinxql 并在我的 $query 上使用 mysql_real_escape_string 但由于没有数据库连接...我的访问被拒绝。我在寻找替代品:

$query = $_GET["query"];



$query = trim($query);
$remove = array(',','}','{',']','[',';',':','>','<','|',')','(','*','%','$','!','^','/');
$query=str_replace($remove, "", $query);
$con = mysql_connect("localhost:9306","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$res = mysql_query("SELECT * FROM test1 WHERE MATCH ('$query')");

最佳答案

如果你神秘地想在没有数据库连接的情况下转义值,你可以使用这个函数:

<?php
function mysql_escape_mimic($inp) {
    if(is_array($inp))
        return array_map(__METHOD__, $inp);

    if(!empty($inp) && is_string($inp)) {
        return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $inp);
    }

    return $inp;
}
?>

关于php - 替代 mysql_real_escape_string (access_denied),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7016965/

相关文章:

php - Swift_Mailer Symfony 3 添加事件监听发送事件

php - 如何查询多个关键词的like

mysql - 如何用包含多个值的字段完成mysql fiddle ?

php - Codeigniter 别名在 View 中不起作用

php - 更新时子查询返回多于 1 行

javascript - 从 javascript 向 Yii Controller 发送数据

php - 嵌套 foreach 问题

mysql - 使用json在一个查询中获取一对多关系

javascript - 单击下一页折叠 Accordion 菜单

mysql - 如何在 MySQL 中存储和获取封装的数组数据