Я не думаю, что мой код - проблема, потому что он работает на моем локальном сервере (РЕДАКТИРОВАТЬ: извините, если это было неправильное место, чтобы спросить, но я не могу перейти к ServerFault самостоятельно). Однако на удаленном сервере я не могу заставить mysql_real_escape_string()
работать. Соединение с базой данных работает, и я подключаюсь перед вызовом функции.
Когда я пытаюсь echo $_POST['email'];
, я получаю правильные данные, но когда я пытаюсь echo mysql_real_escape_string($_POST['email']);
, я ничего не получаю.
Вот когда я получаю сообщение об ошибке:
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: [2002] No such file or directory (trying to connect via unix://please_see_the_faq) in /f5/mysite/public/email_results.php on line 11
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: No such file or directory in /f5/mysite/public/email_results.php on line 11
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /f5/mysite/public/email_results.php on line 11
Возможно ли, что что-то с конфигурацией PHP вызывает это? Я хостинг с NearlyFreeSpeech, если это имеет значение.
Вот мой код вставки:
$db->query('INSERT INTO emails VALUES ("sampleemail@gmail.com")');
А вот как я подключаюсь к базе данных:
@ $db = new mysqli('mysite.db', 'wizard', '(password)', 'mysite');