Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2017, 09:48   #1
Pro100Bogdan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 12
По умолчанию Не срабатывает запрос

Добрый день! Столкнулся с проблемой, которую уже несколько часов не могу решить, вообщем есть файл(response.php) который отвечает за отправку сообщений с помощью функции mail методом post с данными внесенными в базу по заранее заполненной форме. При попытке добавить id в данные которые должны отправляться в сообщении, не срабатывает запрос (строка 54 в файле response.php), который по моему мнению должен работать и должен вытягивать соответствующий id для конкретной записи в базе.
Помогите пожалуйста разобраться. Файл response.php прикрепил к сообщению.
Заранее большое спасибо!
response.rar

Последний раз редактировалось Pro100Bogdan; 31.08.2017 в 11:42. Причина: обновил файл
Pro100Bogdan вне форума Ответить с цитированием
Старый 31.08.2017, 09:52   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Как найти ошибку в своем коде?

P.S.: в файле весь код работы с MySQL – из далёкого прошлого, настоятельно рекомендую заменить его на MySQLi или PDO.

Последний раз редактировалось Andkorol; 31.08.2017 в 09:58.
Andkorol вне форума Ответить с цитированием
Старый 31.08.2017, 10:30   #3
Pro100Bogdan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 12
По умолчанию

Спасибо за список литературы, весьма познавательно, но мне нужен по возможности более точный совет. По поводу использования старого SQL, то конфигурация сервера поддерживает такого рода обращения. Может у вас есть ещё какие нибудь советы ?
Pro100Bogdan вне форума Ответить с цитированием
Старый 31.08.2017, 10:38   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

ох...я функция escape_inj
возвращает false .... зачем? вы же этот результат потом в запрос подставляете

ну и многое ... если не все - там не нужно
Код:
function escape_inj ($text) { 
  return mysql_escape_string($text);
}
ну и для отладки
Код:
 $sql = "....";
 // а тут для отладки перед запросом можно и нужно его посмотреть
 echo $sql;
 $id = mysql_query($sq,$link);
посмотрел остальное... зачем после занесения в БД еще раз данные выбирать? они же есть.. или все ради id вставленной записи?
так есть last_insert_id ... передавайте в функцию отправки письма только данные для этой отправки и все
Код:
if(mysql_query($sql,$link))
			sendMail($_POST,$id);

Последний раз редактировалось ADSoft; 31.08.2017 в 10:42.
ADSoft вне форума Ответить с цитированием
Старый 31.08.2017, 10:59   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Pro100Bogdan Посмотреть сообщение
Спасибо за список литературы, весьма познавательно, но мне нужен по возможности более точный совет.
Выведи на экран текст ошибки, которую возвращает твой SQL-запрос.
Или выведи собранный запрос на экран – и выполни его в консоли MySQL или в phpMyAdmin, и посмотри текст ошибки.
Наиболее вероятная причина ошибки – отсутствие экранирования названий полей в строке SQL-запроса обратными кавычками (`field_name`).
Использование deprecated-расширения для работы с MySQL – заведомо путь в никуда и пустая трата времени.

Последний раз редактировалось Andkorol; 31.08.2017 в 11:01.
Andkorol вне форума Ответить с цитированием
Старый 31.08.2017, 11:31   #6
Pro100Bogdan
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 12
По умолчанию

ADSoft, Спасибо за ответ ! Подкорректировал escape_inj, убрал SELECT. Также сделал так как вы сказали
$sql = "....";
// а тут для отладки перед запросом можно и нужно его посмотреть
echo $sql;
$id = mysql_query($sq,$link);

И да, это все делается только ради вставки записи id.
Если не трудно подскажите как это сделать с помощью функции last_insert_id и где ее лучше обьявить ?
Так как предыдущие изменения не принесли желаемого результата.
Заранее большое спасибо !
Внес некие изменения в файл response.php
Pro100Bogdan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер срабатывает раньше времени или вообще не срабатывает Terebonko JavaScript, Ajax 1 03.08.2017 11:48
SQL запрос не срабатывает. Нужна помощь по условию artemavd БД в Delphi 4 15.04.2015 09:43
SQL запрос не срабатывает Janger Общие вопросы Delphi 6 24.01.2015 17:28
Не срабатывает сортировка Sylar9 Общие вопросы C/C++ 1 08.11.2011 12:03
Индекс не срабатывает GenniY БД в Delphi 4 24.11.2009 15:05