在函数中使用mysqli_real_escape_string

时间:2014-01-07 22:11:36

标签: mysql-real-escape-string

我想使用$ mysqli-> real_escape_string($ query),但我无法弄清楚出了什么问题。 这是我的sqlconn.php文件:

$mysqli = mysqli_init();
$mysqli -> real_connect($db_address, $db_user, $db_pass, $db_name);
if ($mysqli -> connect_errno)
{
    echo "Failed to connect to MySQL: (" . $mysqli -> connect_errno . ") " . $mysqli -> connect_error;
}
$mysqli->set_charset("utf8");   

function getRowSet($query) {
    global $mysqli;
    $query = $mysqli->real_escape_string($query);
    $result = $mysqli -> query($query);
    if ($result) {
        return $result;
    } else {
        return -1;
    }
}

1 个答案:

答案 0 :(得分:0)

你不应该在整个查询中使用real_eascape_string,因为它只能用于参数,一次一个。

看一下这里的例子:

http://www.w3schools.com/php/func_mysqli_real_escape_string.asp

此外,出于安全原因,最好使用prepare()和bind_param()。