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
Форумы портала PHP.SU :: Версия для печати :: Не добавляется значение в INSERT
Форумы портала PHP.SU » » Вопросы новичков » Не добавляется значение в INSERT

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

1. RageXL - 24 Апреля, 2014 - 21:12:58 - перейти к сообщению
Объясните мне пожалуйста почему переменная $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. }
2. KingStar - 24 Апреля, 2014 - 22:18:07 - перейти к сообщению
я так понимаю poll_id - инкремент, и что мешает получить last insert?
3. RageXL - 24 Апреля, 2014 - 23:31:27 - перейти к сообщению
Пробую так
PHP:
скопировать код в буфер обмена
  1. $result = $mysqli->query("INSERT INTO `polls` (title) VALUES ('$title')");
  2.         $poll_id = $result->insert_id;

все равно не выходит добавляется 0 вместо реального id

 

Powered by ExBB FM 1.0 RC1