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 :: Не добавляется значение в INSERT

 PHP.SU

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


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

> Без описания
RageXL
Отправлено: 24 Апреля, 2014 - 21:12:58
Post Id


Новичок


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


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




Объясните мне пожалуйста почему переменная $poll_id не добавляется в таблицу images, вместо нее добавляется 0. Причем если не делать выборку $poll_id из таблицы polls, а просто указать где-нибудь например, что $poll_id = 3, то 3 добавляется.

код
PHP:
скопировать код в буфер обмена
  1.  
  2. $uploaddir = 'images/';
  3.  
  4. // Вытаскиваем необходимые данные
  5. $file = $_POST['value'];
  6. $name = $_POST['name'];
  7. $title = $_POST['title'];
  8. // Получаем расширение файла
  9. $getMime = explode('.', $name);
  10. $mime = end($getMime);
  11.  
  12.  
  13. $data = explode(',', $file);
  14.  
  15.  
  16. $encodedData = str_replace(' ','+',$data[1]);
  17. $decodedData = base64_decode($encodedData);
  18.  
  19. $randomName = substr_replace(sha1(microtime(true)), '', 12).'.'.$mime;
  20.  
  21.  
  22. if (isset($_POST['title'])) {
  23.         $mysqli->query("INSERT INTO `polls` (title) VALUES ('$title')");
  24. }
  25.  
  26. $result2 = $mysqli->query("SELECT `poll_id` FROM `polls` WHERE `title`='$title'");
  27.                 $row = $result2->fetch_row();
  28.                 $poll_id = $row['poll_id'];    
  29.  
  30. // Создаем изображение на сервере
  31. if(file_put_contents($uploaddir.$randomName, $decodedData)) {  
  32.  
  33.         $mysqli->query("INSERT INTO `images` (id,poll_id,date,catalog,filename) VALUES ('','$poll_id', NOW(),'$uploaddir','$randomName')");
  34.  
  35.         echo $randomName.":загружен успешно" ;
  36.         }
  37. else {
  38.         echo "Что-то пошло не так. Убедитесь, что файл не поврежден! ";
  39. }

(Отредактировано автором: 24 Апреля, 2014 - 21:18:42)

 
 Top
KingStar
Отправлено: 24 Апреля, 2014 - 22:18:07
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


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




я так понимаю poll_id - инкремент, и что мешает получить last insert?


-----
То что программа работает, не означает что она написана правильно!
 
 Top
RageXL
Отправлено: 24 Апреля, 2014 - 23:31:27
Post Id


Новичок


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


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




Пробую так
PHP:
скопировать код в буфер обмена
  1. $result = $mysqli->query("INSERT INTO `polls` (title) VALUES ('$title')");
  2.         $poll_id = $result->insert_id;

все равно не выходит добавляется 0 вместо реального id
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB