mysql - insert
Narcyz - 22-02-2006 21:48
mysql - insert
Witam. Jestem początkującym więc proszę o wyrozumiałość. Napisałem sobie coś tam żeby wyświetlało mi dane i bym powiedział że dziła ale mam problem ze zrobieniem insertu. Poniżej przedtswaim taki tam kawalek kodu. Sorki za mały spam ale nie wiem co tu jest źle. Wersja serwera: 4.0.24 Wersja PHP: 4.3.10-16
<html> <head> <title>--</title> </head> <body> <?php if($send=='Wyslij') { mysql_connect ("localhost","haslo","haslo"); mysql_select_db (daneosobowe); $zapytanie = "INSERT INTO dane SET imie='$imie', nazwisko='$nazwisko'"; $wykonaj = mysql_query ($zapytanie); echo "<BR>Dane dodane prawidłowo "; } else { echo "<form method=\"get\" action=\"dodaj.php\"> <div align=\"center\"> <center> <table border=\"1\" width=\"50%\" bordercolorlight=\"#000000\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td width=\"50%\"><font size=\"2\" face=\"Verdana\">Imie</font></td> <td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"imie\" size=\"20\"></font></td> </tr> <tr> <td width=\"50%\"><font size=\"2\" face=\"Verdana\">Nazwisko</font></td> <td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"nazwisko\" size=\"20\"></font></td> </tr> <tr> <td width=\"100%\" colspan=\"2\"> <p align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"submit\" value=\"Wyslij\" name=\"send\"><input type=\"reset\" value=\"Kasuj\" name=\"B2\"></font></td> </tr> </table> </center> </div> </form>"; } ?> </body> </html>
CREATE TABLE `dane` ( `id` int(11) NOT NULL auto_increment, `imie` varchar(30) default NULL, `nazwisko` varchar(30) default NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=2 ;
Radosław Witkowicki - 22-02-2006 21:48
"Narcyz" <bleee@we.de> wrote in message news:dthmn8$ntq$1@news.onet.pl... > Witam. Jestem początkującym więc proszę o wyrozumiałość. Napisałem sobie > coś tam żeby wyświetlało mi dane i bym powiedział że dziła ale mam problem > ze zrobieniem insertu. Poniżej przedtswaim taki tam kawalek kodu. Sorki za > mały spam ale nie wiem co tu jest źle. Wersja serwera: 4.0.24 Wersja PHP: > 4.3.10-16 > > <html> > <head> > <title>--</title> > </head> > <body> > <?php > if($send=='Wyslij') { > mysql_connect ("localhost","haslo","haslo"); > mysql_select_db (daneosobowe); > $zapytanie = "INSERT INTO dane SET imie='$imie', nazwisko='$nazwisko'"; > $wykonaj = mysql_query ($zapytanie); > echo "<BR>Dane dodane prawidłowo "; > } > else { > echo "<form method=\"get\" action=\"dodaj.php\"> > <div align=\"center\"> > <center> > <table border=\"1\" width=\"50%\" bordercolorlight=\"#000000\" > cellspacing=\"0\" cellpadding=\"0\"> > <tr> > <td width=\"50%\"><font size=\"2\" face=\"Verdana\">Imie</font></td> > <td width=\"50%\" align=\"center\"><font size=\"2\" > face=\"Verdana\"><input type=\"text\" name=\"imie\" > size=\"20\"></font></td> > </tr> > <tr> > <td width=\"50%\"><font size=\"2\" face=\"Verdana\">Nazwisko</font></td> > <td width=\"50%\" align=\"center\"><font size=\"2\" > face=\"Verdana\"><input type=\"text\" name=\"nazwisko\" > size=\"20\"></font></td> > </tr> > <tr> > <td width=\"100%\" colspan=\"2\"> > <p align=\"center\"><font size=\"2\" face=\"Verdana\"><input > type=\"submit\" value=\"Wyslij\" name=\"send\"><input type=\"reset\" > value=\"Kasuj\" name=\"B2\"></font></td> > </tr> > </table> > </center> > </div> > </form>"; > } > ?> > </body> > </html> > > > > CREATE TABLE `dane` ( > `id` int(11) NOT NULL auto_increment, > `imie` varchar(30) default NULL, > `nazwisko` varchar(30) default NULL, > PRIMARY KEY (`id`), > UNIQUE KEY `id` (`id`) > ) TYPE=MyISAM AUTO_INCREMENT=2 ;
Bląd jest w tym mijscu:
$zapytanie = "INSERT INTO dane SET imie='$imie', nazwisko='$nazwisko'";
Gdy dodajesz dane do bazy, trzeba zrobić INSERT INTO dane (imie, nazwisko) VALUES ('$imie','$nazwisko);
Jak pobierasz dane z formularza i chcesz je wsadzić do bazy zrób np. tak:
$imie = $HTTP_POST_VARS['imie']; $nazwisko = $HTTP_POST_VARS['nazwisko'];
Pozdro
Lucyna Witkowska - 22-02-2006 21:48
"Radosław Witkowicki" <rwitkowicki@yahoo.co.uk> napisał: > Bląd jest w tym mijscu:
> $zapytanie = "INSERT INTO dane SET imie='$imie', nazwisko='$nazwisko'";
> Gdy dodajesz dane do bazy, trzeba zrobić > INSERT INTO dane (imie, nazwisko) VALUES ('$imie','$nazwisko);
Wbrew pozorom w MySQL i pierwsza skladnia INSERT jest poprawna.
> Jak pobierasz dane z formularza i chcesz je wsadzić do bazy zrób np. tak:
> $imie = $HTTP_POST_VARS['imie']; > $nazwisko = $HTTP_POST_VARS['nazwisko'];
Dla metody GET, jak w tym przypadku nie zadziala. Raczej cos w rodzaju: $send = $_REQUEST['send']; $imie = $_REQUEST['imie']; ....
Pozdrowienia, LW
Radosław Witkowicki - 22-02-2006 21:48
"Lucyna Witkowska" <ypwitkow@nospamcyf-kr.edu.pl> wrote in message news:dthrei$mck$1@srv.cyf-kr.edu.pl... > "Radosław Witkowicki" <rwitkowicki@yahoo.co.uk> napisał: >> Bląd jest w tym mijscu: > >> $zapytanie = "INSERT INTO dane SET imie='$imie', nazwisko='$nazwisko'"; > >> Gdy dodajesz dane do bazy, trzeba zrobić >> INSERT INTO dane (imie, nazwisko) VALUES ('$imie','$nazwisko); > > Wbrew pozorom w MySQL i pierwsza skladnia INSERT jest poprawna. > >> Jak pobierasz dane z formularza i chcesz je wsadzić do bazy zrób np. tak: > >> $imie = $HTTP_POST_VARS['imie']; >> $nazwisko = $HTTP_POST_VARS['nazwisko']; > > Dla metody GET, jak w tym przypadku nie zadziala. > Raczej cos w rodzaju: > $send = $_REQUEST['send']; > $imie = $_REQUEST['imie']; > ... > > Pozdrowienia, > LW
Ja robię w ten sposób co napisałem robię i jakoś dane znajdują się w bazie, a jak nie wiesz czy nie jesteś pewna to nie pisz, że nie zadziła mój sposób. Świadczy to wyłącznie o braku wiedzy i o tym, że masz klapki na oczach.
Pozdro
Przemyslaw Popielarski - 24-02-2006 14:45
Radosław Witkowicki <rwitkowicki@yahoo.co.uk> wrote: > Jak pobierasz dane z formularza i chcesz je wsadzić do bazy zrób np. > tak: > $imie = $HTTP_POST_VARS['imie']; > $nazwisko = $HTTP_POST_VARS['nazwisko'];
$HTTP_* jest depreciated, niech uzyje lepiej $_POST, ale tez powinien uzyc odpowiedniej metody w action formularza (bo na razie jest blednie get).
A caly skrypt mu nie dziala, bo ma warunek if($send=='Wyslij') zamiast if(!empty($_POST['send'])) -- oczywiscie po zmianie metody.
Tak w ogole to NTG.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Przemyslaw Popielarski - 24-02-2006 14:45
Radosław Witkowicki <rwitkowicki@yahoo.co.uk> wrote: > Ja robię w ten sposób co napisałem robię i jakoś dane znajdują się w > bazie, a jak nie wiesz czy nie jesteś pewna to nie pisz, że nie > zadziła mój sposób. Świadczy to wyłącznie o braku wiedzy i o tym, że > masz klapki na oczach.
Zluzuj troche, akurat a'propos inserta to Ty byles w bledzie, a ona miala racje.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Przemyslaw Popielarski - 24-02-2006 14:45
Lucyna Witkowska <ypwitkow@nospamcyf-kr.edu.pl> wrote: > Raczej cos w rodzaju: > $send = $_REQUEST['send']; > $imie = $_REQUEST['imie'];
$_REQUEST raczej powinno sie unikac. Jak sie czegos spodziewasz getem, to stosuj $_GET, jak postem to $_POST i tak dalej. Bo $_REQUEST to proszenie sie o klopoty.
-- ../ premax ../ premax@hot,pl ../ koniec i bomba, a kto czytal ten traba. w.g.
Lucyna Witkowska - 24-02-2006 14:45
"Radosław Witkowicki" <rwitkowicki@yahoo.co.uk> napisał: > "Lucyna Witkowska" <ypwitkow@nospamcyf-kr.edu.pl> wrote in message > news:dthrei$mck$1@srv.cyf-kr.edu.pl... > > "Radosław Witkowicki" <rwitkowicki@yahoo.co.uk> napisał: > >> Bląd jest w tym mijscu: > > > >> $zapytanie = "INSERT INTO dane SET imie='$imie', nazwisko='$nazwisko'"; > > > >> Gdy dodajesz dane do bazy, trzeba zrobić > >> INSERT INTO dane (imie, nazwisko) VALUES ('$imie','$nazwisko); > > > > Wbrew pozorom w MySQL i pierwsza skladnia INSERT jest poprawna. > > > >> Jak pobierasz dane z formularza i chcesz je wsadzić do bazy zrób np. tak: > > > >> $imie = $HTTP_POST_VARS['imie']; > >> $nazwisko = $HTTP_POST_VARS['nazwisko']; > > > > Dla metody GET, jak w tym przypadku nie zadziala. > > Raczej cos w rodzaju: > > $send = $_REQUEST['send']; > > $imie = $_REQUEST['imie']; > > ...
> Ja robię w ten sposób co napisałem robię i jakoś dane znajdują się w bazie, > a jak nie wiesz czy nie jesteś pewna to nie pisz, że nie zadziła mój sposób. > Świadczy to wyłącznie o braku wiedzy i o tym, że masz klapki na oczach.
Mocne - tylko nieprawdziwe. Znalazłeś bład w instrukcji, ktora go nie miała i zaproponowaleś $HTTP_POST_VARS kiedy w użyciu była metoda get.
Mimo to pozdrawiam z nizyn mojej niewiedzy, zdejmując na chwile klapki z oczu ;-) -- Lucyna Witkowska
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plczterowers.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|