我目前使用 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/