Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> INSERT INTO
mani4
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.09.2005

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


Witam mam pytanie odnosnie kodu ponizej przedstawionego...
Chce zeby zmienne przekazane z formularza zostaly dodane do bazy. Co zrobilem zle ? Albo wypluwa mi blad w 15 linijce nie wiedziec czemu, albo wogole nie wypluwa bledu - ale tez nie dodaje do bazy. Pomocy !
za pomoc z gory dziekuje.
  1. <?php
  2. $host = "db.st.interia.pl";
  3.  
  4. $polaczenie = mysql_connect($host, $username, $password);
  5. mysql_select_db($database, $polaczenie);
  6.  
  7. $query = "INSERT INTO ewid 
  8. (imie, nazwisko, pesel, ulica, lokal, mieszkanie, telefon, dt_rozpoczecia_sz
    kolenia, kategoria, instruktor, prawo_jazdy_nr, pozwolenie_numer, wydane, uwagi, 
    zaplacono, dodano)
  9. VALUES
  10. ('$imie', '$naz', '$pesel', '$ulica', '$nrb', '$nrl', '$tel', '$dtr', '$kat', '$instruktor', '$pjnr', '$pozw', '$wydane', '$uwagi', '$placa', '$dod')";
  11. $wynik = mysql_query($query, $polaczenie)
  12. echo mysql_errno() . ": " . mysql_error() . "n";
  13. if($wynik) {
  14. echo "Zapytanie do bazy zakończyło sie sukcesem";
  15. } else {
  16. echo "Nieudane zapytanie do bazy";
  17.  
  18. ?>


Ten post edytował mani4 20.09.2005, 21:11:53
Go to the top of the page
+Quote Post
darecki
post
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 2
Dołączył: 24.08.2005
Skąd: Warszawa

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


po pierwsze nie pisz danych dostepowych do swojego serwera MySQL (wyedytuj to)
po drugie czy mozesz podac strukture bazy danych ? ewentualnie sprawdz czy dane do pola typu INT nie zapisujesz w ciapkach np.:
zakladajac ze pole lokal jest typu INT powinienes wartosc zapisac bez ciapek:

  1. <?php
  2.  
  3. $query = "INSERT INTO ewid 
  4. (imie, nazwisko, pesel, ulica, lokal, mieszkanie, telefon, dt_rozpoczecia_sz
    kolenia, kategoria, instruktor, prawo_jazdy_nr, pozwolenie_numer, wydane, uwagi, 
    zaplacono, dodano)
  5. VALUES
  6. ('$imie', '$naz', '$pesel', '$ulica', $nrb, '$nrl', '$tel', '$dtr', '$kat', '$instruktor', '$pjnr', '$pozw', '$wydane', '$uwagi', '$placa', '$dod')";
  7.  
  8. ?>


jezeli varchar to z ciapkami:
  1. <?php
  2.  
  3. $query = "INSERT INTO ewid 
  4. (imie, nazwisko, pesel, ulica, lokal, mieszkanie, telefon, dt_rozpoczecia_sz
    kolenia, kategoria, instruktor, prawo_jazdy_nr, pozwolenie_numer, wydane, uwagi, 
    zaplacono, dodano)
  5. VALUES
  6. ('$imie', '$naz', '$pesel', '$ulica', '$nrb', '$nrl', '$tel', '$dtr', '$kat', '$instruktor', '$pjnr', '$pozw', '$wydane', '$uwagi', '$placa', '$dod')";
  7.  
  8. ?>


Ten post edytował darecki 20.09.2005, 20:31:46
Go to the top of the page
+Quote Post
mani4
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.09.2005

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


  1. lp char(3) NOT NULL,
  2. imie char(30),
  3. nazwisko char(20),
  4. pesel char(20),
  5. ulica char(20),
  6. lokal char(3),
  7. mieszkanie char(3),
  8. telefon char(20),
  9. dt_rozpoczecia_szkolenia char(12),
  10. kategoria char(3),
  11. instruktor char(10),
  12. prawo_jazdy_nr char(20),
  13. pozwolenie_numer char(20),
  14. wydane char(12),
  15. uwagi blob,
  16. zaplacono integer,
  17. dodano char(30),
  18. PRIMARY KEY (nazwisko)


co z blob ? jak zrobic zeby nadawal lp nastepne w kolejnosci automatycznie ?
Go to the top of the page
+Quote Post
-Gość_luki-
post
Post #4





Goście







Wyrzuca Ci błąd w linii nr 15, ponieważ brakuje tam na końcu średnika (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
gladiror
post
Post #5





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


Gość_luki => masz rację... 11 linia...
Go to the top of the page
+Quote Post
mani4
post
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.09.2005

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


Wczesniej wyskakiwal blad w 12 linijce (teraz). gdzie brakuje srednika?
gdzie wczesniej brakuje czegokolwiek ? moze ktos napisze poprawiony skrypt ?
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przeciez wyraźnie masz napisane że brakuje średnika:
  1. <?php
  2.  
  3. $wynik = mysql_query($query, $polaczenie)
  4.  
  5. ?>


powinno byc:

  1. <?php
  2.  
  3. $wynik = mysql_query($query, $polaczenie);
  4.  
  5. ?>

Cieżko tak samemu wstawic ten średnik?

@gladiror Twoje wypwiedzi nic nie wnoszą, więc i ty ich nie wnoś do tematu, inaczej posypią się ostrzeżenia

@mani4 i prosze na przyszłość nie krzyczeć w temacie
Go to the top of the page
+Quote Post
mani4
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.09.2005

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


ja nie krzycze - poprostu funkcje SQL'owe pisze z wielkich liter - nie wiem jakies glupie przyzwyczajenie. Jesli zostalo to tak odebrane przepraszam - postaram sie zeby to sie nie powtorzylo

teraz mam pytanie - czy ma ktos moze skrypcik ktory wyciaga z bazy najwieksze ID (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) albo moze finkcja w sql'u ktora dodaje +1 do poprzedniego ID

Ten post edytował mani4 21.09.2005, 20:57:09
Go to the top of the page
+Quote Post
strife
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(mani4 @ 2005-09-21 20:16:39)
teraz mam pytanie - czy ma ktos moze skrypcik ktory wyciaga z bazy najwieksze ID (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) albo moze finkcja w sql'u ktora dodaje +1 do poprzedniego ID

Witam,

[...] jeśli chcesz największa wartość to przez MAX, a dodawanie normalnie robisz czyli.
  1. SELECT MAX(id)
  2. FROM tabela

  1. INSERT
  2. INTO tabela WHERE id = id + 1


Pozdrawiam!
Go to the top of the page
+Quote Post
mani4
post
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 20.09.2005

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


  1. "INSERT
  2. INTO ewid (lp, imie.....)
  3. VALUES
  4. ( 'lp = lp + 1', '$imie', '$nazwisko'....);


Dlaczego zawsze pw polu lp mam wartosc lp. a nie o jeden wieksza od lp ?
Go to the top of the page
+Quote Post
adif
post
Post #11





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 12.06.2005

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


pole lp char(3) NOT NULL, ustaw sobie jako autonumerowanie i problem bedzie rozwiazany
Go to the top of the page
+Quote Post
gladiror
post
Post #12





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

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


autonumerowanie => auto_increment
Go to the top of the page
+Quote Post
adif
post
Post #13





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 12.06.2005

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


jeszcze dodam jedno o czym zpomniałem wcześniej napisać...

oprócz autonumerowania, zmień typ pola "lp" z "char" na int() - jest to pole liczbowe, które posłuży Ci do autonumerowania. "char" jest polem tekstowym.

Poza tym PRIMARY KEY z (nazwisko) zmieniłbym na (lp)
Ja bym proponował tak:

lp int(10) NOT NULL auto_increment PRIMARY KEY
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 09:11