Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Kopiowanie pól blob w MySQL
Forum PHP.pl > Forum > Przedszkole
northwest
Witam,
Jak z poziomu php skopiować pole typu blob (obrazek) z 1 tabeli do 2??
Kombinuje cos takiego:
  1. <?php
  2. $xx2 = "SELECT obrazek FROM baza WHERE id='$_POST[id]'";
  3. $xx2 = mysql_query($xx2);
  4. while ($x = mysql_fetch_array($xx2)){
  5.  
  6. mysql_query("INSERT INTO `baza2` (`id`, `obrazek`) VALUES
  7. ('', '$x[obrazek]');");
  8.  
  9. }
  10. ?>


ale nie chce mi skopiować sad.gif(( wiecie może dlaczego??

Z góry dzięki za pomoc,
Pozdrawiam Northwest
aiv
Jeżeli to ma być tak proste kopiowanie jak w wymienionym przykładzie to możesz użyć samej skłądni SQL do kopiowania:
  1. INSERT INTO pliki (`id`, `obrazek`) SELECT `id`, `obrazek` FROM `pliki` WHERE `id` = 'XXX'
kossa
Kod zaprezentowany przez @aiv jest najlepszym rozwiązaniem, a w Twoim kodzie są błędy - brak kropki:

  1. <?php
  2. $xx2 = "SELECT obrazek FROM baza WHERE id=".$_POST[id]." ";
  3. ?>


jeśli masz pole id ustawione na auto_increment to pomiń id z zapytania i dodaj też kropki i cudzysłowia

  1. <?php
  2. mysql_query("INSERT INTO `baza2` (`obrazek`) VALUES ('".$x["obrazek"]."')");
  3. ?>


Łukasz
northwest
czyli coś takiego:
INSERT INTO obrazek ( `obrazek`) WHERE `id` = '2' SELECT `obrazek` FROM `baza_cv_userow` WHERE `id` = '1'
Chce skopiować z rekordu o id= 1 do rekordu o id=2 (oba rekordy już istnieją) obrazek z 1....
Kicok
Jeśli oba rekordy już istnieją to raczej UPDATE niż INSERT INTO


Druga sprawa:
Danych binarnych (a takie są przechowywane w polu typu blob) nie umieszcza się w apostrofach. Wyglądać ma to mniej więcej tak:
  1. UPDATE tabela SET pole_blob = 0x34fd2219000000baff WHERE ( id = 12345 )


lub zapytanie bardziej odpowiadające twojemu problemowi:
  1. UPDATE tabela SET pole_blob = ( SELECT pole_blob FROM tabela WHERE ( id = 54321 ) ) WHERE ( id = 12345 )
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.