2014-01-07 3 views
0

Я хотел бы использовать $ mysqli-> real_escape_string ($ query), но я не могу понять, что не так. Вот мой sqlconn.php файл:Использовать mysqli_real_escape_string внутри функции

$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; 
    } 
} 

ответ

0

Вы не должны использовать real_eascape_string на весь запрос, потому что это означало, которые будут использоваться только для параметров, по одному за раз.

Посмотрите на пример здесь:

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

Кроме того, по соображениям безопасности, было бы лучше использовать подготовить() и bind_param().

Смежные вопросы