Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод не верной записи из phpmyadmin

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Pavel8897
Отправлено: 24 Октября, 2017 - 13:49:36
Post Id


Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Авг. 2017  


Помог: 0 раз(а)




Всем привет! Хочу сделать запись в phpmyadmin, и затем вывести id этой же записи на сайт. Но происходит вывод id только предыдущей записи. Проблема в том, что запись и вывод проходят синхронно. Подскажите, как можно решить этот вопрос. Вывод не верной записи из phpmyadmin.

PHP:
скопировать код в буфер обмена
  1. //Подключиться к базе
  2. $mysqli = new mysqli ("...", "...", "...", "...");
  3.  
  4. //Записать заявку
  5. $success = $mysqli->query("INSERT INTO `numbers` (`id`, `user`, `comment`) VALUES (NULL, '$recepient', '$message1251')");
  6.  
  7. //Получить номер последней заявки
  8. $query=mysqli_query($mysqli, "SELECT max(`id`) as `id` FROM `numbers`");
  9. $result = mysqli_fetch_array($query);  // Формируем переменную с исполнением запроса к БД
  10.  
  11. if(empty($result['id'])){
  12.     echo '<script>alert("Ошибка запроса");</script>';
  13. }else{
  14.     $numzap = $result['id'];
  15.     //echo "Номер: ".$numzap;
  16.     $_SESSION['idmax'] = $numzap;
  17. }
  18.  
  19. //Отправка письма
  20. $pagetitle = "Новая заявка с сайта \"$siteName\"";
  21.  
  22. $message = "Заявка № $numzap \n"."Комментарий: $message \n"."ИНН организации: $inn \n"."ФИО контактного лица: $fio \n"."Телефон контактного лица: $phone \n"."Электронная почта контактного лица: $email";

(Отредактировано автором: 24 Октября, 2017 - 13:49:54)

 
 Top
LIME
Отправлено: 25 Октября, 2017 - 02:48:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




когда-то давно у меня была подобная бага с mysqli
лечится явным указанием http://php.net/manual/ru/mysqli.autocommit.php в true
а еще лучше перейти на PDO потому как все приличные решения сейчас уже делаются через него
лучше сразу привыкать
 
 Top
ytrewq123
Отправлено: 25 Октября, 2017 - 18:11:03
Post Id


Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Я конечно извиняюсь но ни эта ли функция или метод вам нужен, вместо ещё одного запроса!!!???
$mysqli->insert_id
http://php.net/manual/ru/mysqli.insert-id.php
 
 Top
LIME
Отправлено: 25 Октября, 2017 - 23:11:05
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




точно
именно с этой ф-цией и был у меня баг
причем на одной машине
на других и на серверах все было ок
вылечил применяя запрос с LAST_INSERT_ID()
(Добавление)
ytrewq123 и внутрях там происходит еще один запрос
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB