Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql][php] Jak wrzucić dane z tablicy do bazy?
Forum PHP.pl > Forum > Przedszkole
japek
Tablica zawiera setki danych. Muszę to wrzucić do bazy. Jak wrzucam INSERTem wartość $tablica do pola tablica to mi nic nie wpisuje ale na pewno dałem zły typ bo ustawiłem varchar. Jak to zrobić poprawnie?
kossa
Podaj więcej szczegułów.

Podaj kod inserta, strukturę tabeli w bazie, opis tablicy z danymi...

Łukasz
skowron-line
  1. <?php
  2. foreach($array as $key => $value){
  3.  $zapytanie = "INSERT INTO jakas_tabela VALUES ("'.$value.'")";
  4.  mysql_query($zapytanie);
  5. }
  6. ?>


jesli dobrze zrozumialem
siemakuba
Rozumiem, żę chcesz wrzucić tam tablicę zserializowaną?
Jeżeli setki danych, to typ pola VARCHAR nie jest odpowiedni. Maksymalnie możesz w nim zapisacać 255 znaków, co jakoś z setkami danych nie bardzo mi się kojarzy. Ustaw typ pola na TEXT lub LONGTEXT - zależnie ile masz tych setek :)

Co do wrzucania danych:
  1. <?php
  2. $data = serialize($tablica_z_setkami_danych);
  3. $data = mysql_real_escape_string($data);
  4. $sql = 'INSERT INTO tabela (pole_na_setki_danych) VALUES("'.$data.'")';
  5. mysq_query($sql);
  6. ?>


Może być, że będziesz musiał po serialize" title="Zobacz w manualu php" target="_manual i mysql_real_escape_string" title="Zobacz w manualu php" target="_manual dać jeszcze addslashes" title="Zobacz w manualu php" target="_manual - nie pamiętam dokładnie czy będzie to konieczne. Jeżeli jednak tak, po przeczytaniu danych i musisz dać stripslashes" title="Zobacz w manualu php" target="_manual przed odserializowaniem (unserlialize" title="Zobacz w manualu php" target="_manual).

pozdr.
japek
Nie chce mi dodać zserializowanej tablicy.

Tablice mam taką:

  1. <?php
  2. Array ( [0] => 43.[1] => 43.[2] => 43.[3] => 43.[4] => 43.[5] => 43.6......[1442] => 50.4)
  3. ?>


Zrobiłem w bazie pole LONGTEXT ale nie wrzuca. Oczywiście z danymi z tablicy chcę wrzucić dane z innych tablic oraz pojedyncze wartości dlatego chce to zrobić za pomocą jednego inserta. Te inne wartości wrzuca bez problemu ale jak chce dodać wartość tablicy to już nie dodaje nic.
siemakuba
co na to mysql_error" title="Zobacz w manualu php" target="_manual?
Bo tak, to ja ci powiem że mi chce dodać i komu teraz wiara? :)

Możesz pokazać jak to dodajesz?

pozdr.
japek
$tab8 to tablica która wygląda jak wcześniej napisałem.

  1. <?php
  2. $taby8_s=serialize($taby8);
  3. $taby8s=mysql_real_escape_string($taby8_s); 
  4.  
  5. $query="INSERT INTO dane_wykres (liczba, taby8, min, max) VALUES ($liczba, $taby8s, $min, $max)";
  6. $result=@mysql_query($query);
  7. ?>


Błąd nie wyskakuje ale też nic nie jest dodane do bazy. Jak w Insercie dam tylko "liczba", "min" i "max" to dodaje bez problemu ale to są wartości zmiennej.
erix
  1. <?php
  2. $query="INSERT INTO dane_wykres (liczba, taby8, min, max) VALUES ($liczba, $taby8s, $min, $max)";
  3. ?>

  1. <?php
  2. $query='INSERT INTO dane_wykres (liczba, taby8, min, max) VALUES ('.$liczba.', "'.$taby8s.'", '.$min.', '.$max.')';
  3. ?>
japek
Ano działa smile.gif dzięki!!
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.