mysql_real_escape_string () полностью удаляет строку - PullRequest
6 голосов
/ 01 мая 2009

Я экранирую все строковые параметры, которые я получаю из формы php:

$usr_name = mysql_real_escape_string($_REQUEST['usr_name']);

, чтобы избежать нескольких проблем с SQL-инъекцией. Но когда я возвращаю свою строку из функции, я ничего не получаю.

Также я продолжаю получать это странное предупреждение в своем журнале PHP:

PHP Warning:  mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: A link to the server could not be established in /hermes/bosweb/web279/b2798/ipw.bankingforms/public_html/formAckResponse_controller.php on line 39

Хост использует: PHP версии 4.4.7

1 Ответ

17 голосов
/ 01 мая 2009

С PHP.net:

Примечание: Требуется соединение MySQL Перед использованием mysql_real_escape_string() в противном случае ошибка уровня E_WARNING генерируется, и FALSE возвращается. Если link_identifier не определено, последнее соединение с MySQL используется.

Другими словами, прежде чем использовать эту функцию, вам нужно будет подключиться к базе данных MySQL через mysql_connect() или mysql_pconnect().

...