Я пытаюсь экранировать некоторые данные, прежде чем они попадут в мою базу данных, но я получаю эту ошибку:
Warning: mysql_real_escape_string(): Access denied for user
Теперь это обычно говорит о том, что я не подключился к базе данных (также говорится (используя пароль: НЕТ)).
Меня это немного смутило, потому что при подключении к базе данных у меня есть предложение 'die', поэтому, если он не подключается, мне сообщают об этом.Поэтому я проверил эту теорию, выполнив простой запрос в той же функции, в которой я пытаюсь экранировать данные, и она работает просто отлично.
Так почему же метод escape не работает или не получает соединение сбаза данных.Я заметил, что пользователь, сообщающий об ошибке, не является пользователем, которого я использую для доступа к базе данных, это что-то вроде «www-data @ localhost».Может быть, это попытка войти с другим пользователем, если так, почему и как?Поскольку в другой части моего веб-сайта функция escape работает просто отлично, и я не сделал ничего особенного, чтобы она заработала, я просто добавил код на мою веб-страницу.
спасибо за помощь.
Существуют ли другие способы дезинфекции моего кода?
Хорошо, так что давайте, когда пользователь отправляет форму, я использую AJAX, чтобы собрать данные и поместить их в объект дляотправить (в кодировке JSON) его в первый скрипт PHP, который находится здесь:
http://codepad.org/kGPljN4I
Этот скрипт проверяет все имеющиеся данные и затем вызывает функцию для добавления их в базу данных
этот класс Mysql вызывается для экранирования данных, а затем для добавления новой записи в базу данных; когда создается экземпляр класса, он устанавливает соединение с базой данных:
http://codepad.org/wwGNrTJm
Третий файл для констант, он содержит информацию для базы данных, такую как pass, user и так далее:
http://codepad.org/dl0QQbi9
лучше?
еще раз спасибо за помощь.