Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql][php] Jak wrzucić dane z tablicy do bazy?
japek
post 4.10.2006, 09:20:37
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Opole

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
kossa
post 4.10.2006, 09:31:00
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Podaj więcej szczegułów.

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

Łukasz


--------------------
Go to the top of the page
+Quote Post
skowron-line
post 4.10.2006, 09:31:41
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


  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


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
siemakuba
post 4.10.2006, 09:56:34
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
japek
post 4.10.2006, 11:20:41
Post #5





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Opole

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
siemakuba
post 4.10.2006, 11:37:01
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
japek
post 4.10.2006, 11:51:19
Post #7





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Opole

Ostrzeżenie: (10%)
X----


$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.
Go to the top of the page
+Quote Post
erix
post 4.10.2006, 12:47:32
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  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. ?>


Ten post edytował erix 4.10.2006, 12:48:24


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
japek
post 4.10.2006, 12:55:14
Post #9





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Opole

Ostrzeżenie: (10%)
X----


Ano działa smile.gif dzięki!!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:55