Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] problem z wstawieniem danych do bazy
Forum PHP.pl > Forum > Przedszkole
misty
hejka!
mam nastepujacy problem:
za pomoca formularza mam wprowadzic dane do bazy. niektore dane (z innych tabel) musze uprzednio pobrac. przedstawie moze fragment skryptu:
  1. <?php
  2. $imie=$_POST['imie'];
  3. $nazwisko=$_POST['nazwisko'];
  4. //teraz pobieram identyfikator z innej tabeli:
  5.  
  6. $pytanie="select cos_id from xyz where cos=cos;";
  7. $wynik=pg_query($polaczenie, $pytanie);
  8.  
  9. while ($row=pg_fetch_row($wynik))
  10. {
  11. foreach ($row as $data)
  12. $cos_id=$data ; // w tym miejscu do zmiennej cos_id przypisuje identyfikator wyciagniety z innej t
    abeli, ktory potem musze wstawic do mojej glownej tabeli
  13. }
  14. //i teraz wstawiamy dane do wlasciwej tabeli
  15.  
  16. $pytanie="insert into glowna (imie, nazwisko, cos_id) values ('".$imie."', '".$nazwisko."', '"$cos_id'");";
  17. $wynik=pg_query($polaczenie, $pytanie);
  18. ?>


dostaje jednak komunikat:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "" " title="Zobacz w manualu PHP" target="_manual


nie wiem czemu.. oczywiscie tabela 'glowna' zawiera rowniez pole 'id', jednak jest ono typu serial, wiec samo sie zwieksza. poza tym nawet jesli probowalam cos takiego:
  1. <?php
  2. $pytanie="insert into glowna (id, imie, nazwisko, cos_id) values (1,'".$imie."', '".$nazwisko."', '"$cos_id'");";
  3. $wynik=pg_query($polaczenie, $pytanie);
  4. ?>

to nadal problem byl ten sam..
ma ktos z Was moze pomysl z czym moze byc problem??
bełdzio
try

  1. <?php
  2. $pytanie='INSER INTO glowna (id, imie, nazwisko, cos_id) 
  3.  VALUES (1,"' . $imie . '", "' . $nazwisko . '", ' . $cos_id . ');';
  4. ?>
misty
probowalam zmienic ' ".$zmienna. " ' na '$zmienna'.. ale nie pomaga.. nadal ten blad:


Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "" in /var/www/htdocs/test.php on line 136" title="Zobacz w manualu PHP" target="_manual

gdzie line 136 to jest wlasnie tresc tego inserta..

sprobowalam tez zrobic jak radziles, jednak to zupelnie nie przeszlo.. otrzymalam:

Warning: pg_query() [function.pg-query]: Query failed: ERROR: zero-length delimited identifier at or near """" LINE 2" title="Zobacz w manualu PHP" target="_manual


jakies inne propozycje?

juz jest wsjo, mialam pare bledow w skrypcie .. i to nie przy insert tylko wczesniej.. wiec jest si.
dzieki za rady:)
acztery
nie tak
  1. <?php
  2. $pytanie="insert into glowna (id, imie, nazwisko, cos_id) values (1,'".$imie."', '".$nazwisko."', '"$cos_id'");";
  3. ?>

tylko

  1. <?php
  2. $pytanie="insert into glowna (id, imie, nazwisko, cos_id) values (1,'".$imie."', '".$nazwisko."', '"$cos_id"');";
  3. ?>


zle byl cudzyslow
misty
wystarczylo to zrobic w ten sposob:
  1. <?php
  2. $pytanie="insert into glowna (imie, nazwisko, cos_id) values ('$imie', '$nazwisko', '$cos_id');";
  3. ?>


a problem byl wynikiem paru bledow w skrypcie a nie tego ze insert zle formulowany..

pzdr:)
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.