2013-02-21 3 views
0

Вот упрощенная версия моего кода:Вызов неопределенной метод DB :: escape_string()

$db = new mysqli('localhost', 'user', 'pass', 'database') or die(mysqli_error());  

$gender = $db->escape_string($_GET['gender']); 
$city = $db->escape_string($_GET['city']); 

Здесь ошибка я получаю:

Call to undefined method DB::escape_string() in /blablabla/bla/file.php on line 2 

Почему я получаю сообщение об ошибке?

+0

Если использовать подготовленные заявления, Там нет необходимости 'real_escape_string' – Nick

+0

Да, я собираюсь научиться делать подготовленные заявления для этого. Было бы неплохо узнать, что вызывает эту ошибку. – TJE

+1

Хорошо, у меня была другая переменная с именем $ db внутри моих файлов. Теперь я чувствую себя глупо. – TJE

ответ

2

Я думаю, что вы ищете является mysqli::real_escape_string()

$gender = $db->real_escape_string($_GET['gender']); 
$city = $db->real_escape_string($_GET['city']); 
+0

Уже пробовал ... Звонок на неопределенный метод DB :: real_escape_string(). В любом случае, это не одно и то же. – TJE

+0

Нет. MySQLi не имеет метода 'escape_string()'. Кроме того, в функциях mysql_ * они работают * очень * по-разному. –

+0

@JohnConde на самом деле я это делаю ... http://php.net/manual/en/mysqli.real-escape-string.php – Nick

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