У меня есть PHP-скрипт, который вставляет запись в базу данных после получения данных из заполненной пользователем формы. Я разработал на своей локальной машине (WAMP-сервер) и в моем PHP-скрипте имеет следующий код:
$name = mysql_real_escape_string($_POST['name']); $email = mysql_real_escape_string($_POST['email']); //connecting to db mysql_connect("host", "user", "pass") or die('save_failed'); mysql_select_db("db") or die('save_failed'); //inserting into table mysql_query("INSERT INTO table(name, email) VALUES('" . $name . "', '" . $email . "' ) ") or die('save_failed');
Сценарий работал так, как ожидалось, и записи были успешно вставлены в таблицу.
Как только я переместил сценарий на свой веб-сервер, я понял, что значения, хранящиеся в базе данных, были пустыми. mysql_real_escape_string
удаление mysql_real_escape_string
.
Почему mysql_real_escape_string
не работает на моем веб-сервере?
База данных, над которой я работаю, не изменилась. Даже при разработке локально я попадал в свою базу данных веб-сервера. PHP ver на localhost равен 5.3.8, а на веб-сервере – 5.2.
Не поддерживает ли PHP 5.2 mysql_real_escape_string
, и если да, то в чем альтернатива?