Mysql_real_escape_string () Предупреждение путаница - PullRequest
1 голос
/ 26 декабря 2011
echo mysql_real_escape_string($dbc, "string");

Выдает предупреждение:

Warning: mysql_real_escape_string() expects parameter 1 to be string, object 
given in **...**

Так что даже когда я даю функции, которая выглядит явно как строковые объекты, она не воспринимает их как строки.

Что здесь происходит?

Ответы [ 4 ]

5 голосов
/ 26 декабря 2011

mysql_real_escape_string просто принимает строку для аргумента. Вот и все.

$string = mysql_real_escape_string('string')

Если вы хотите указать идентификатор ссылки, это необязательный второй аргумент:

$string = mysql_real_escape_string('string', $dbc)

2 голосов
/ 26 декабря 2011

Проверьте документы .Параметры идут наоборот (подключение необязательно).

mysql_real_escape_string('string', $conn);
1 голос
/ 26 декабря 2011

Почему вы передаете два параметра ему, как показано ниже?

mysql_real_escape_string($dbc, "string");

Попробуйте, это должно работать.

echo mysql_real_escape_string($dbc);
0 голосов
/ 02 мая 2017

Обычно, когда мы используем mysql_real_escape_string, это когда мы имеем дело с оператором SQL, где мы должны проходить через каждое поле, некоторые из которых являются пустыми, а некоторые не являются строками. Ошибка говорит о том, что функция ожидает строку , что означает, что некоторые поля не являются строками, чтобы избежать этого предупреждения, необходимо выполнить проверку:

if (!empty($dbc) && is_string($dbc))
    echo mysql_real_escape_string($dbc, "string"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...