Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] dodawanie rekordu do bazy
sweety
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.04.2006

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


Witam

Po przejrzeniu forum oraz kursów stworzyłam sobie pliczek do dodawania rekordu, który niedziała sad.gif
Może ktoś z Was wie gdzie popełniłam błąd.

o to kod:
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <?php
  6. if($send=='Wyslij') {
  7. mysql_connect("localhost", "", "");
  8.  
  9.  
  10. mysql_select_db("katalog");
  11.  
  12. $zapytanie = "INSERT INTO firma SET witryna='$witryna', email='$email' ";
  13. $wykonaj = mysql_query ($zapytanie);
  14. echo "<BR>Dane dodane prawidłowo ! Dziękujemy za wypełnieni formularza !";
  15. }
  16. else {
  17. echo "<form method=\"get\" action=\"dodaj1.php\">
  18. <div align=\"center\">
  19. <center>
  20. <table>
  21. <tr>
  22. <td >witryna</td>
  23. <td ><input type=\"text\" name=\"witryna\" </td>
  24. </tr>
  25. <tr>
  26. <td >email</td>
  27. <td ><input type=\"text\" name=\"email\" </td>
  28. </tr>
  29.  <tr>
  30. <td width=\"100%\" colspan=\"2\">
  31. <input type=\"submit\" value=\"Wyslij\" name=\"send\"><input type=\"reset\" value=\"Kasuj\" name=\"B2\"></td>
  32. </tr>
  33. </table>
  34. </center>
  35. </div>
  36. </form>";
  37. }
  38.  
  39. ?>
  40.  
  41. </body>
  42. </html>



pozdrawiam

Ten post edytował sweety 27.04.2006, 14:38:01
Go to the top of the page
+Quote Post
Adiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

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


masz blad w zapytaniu inserujacym INSERT INTO syntax
Go to the top of the page
+Quote Post
sweety
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.04.2006

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


no i nadal mi to nie działa sad.gif jak niedodawało tak nie dodaje sad.gif

Nawet kod skopiowany z książeczki też jest be sad.gif

  1. <?php
  2. function InsertRecord( $aadres, $aemail )
  3. {
  4. // Przygotowanie wyrażenia SQL INSERT
  5. $aSQL = "insert into firmy ( adres, email, ";
  6. $aSQL .= " ) values ( '$aadres', '$aemail', ";
  7. $aSQL .= " )";
  8. // Przyłączenie do serwera i wykonanie instrukcji INSERT
  9. $aDBLink = @mysql_connect( "localhost", "", "" );
  10. if ( !empty( $aDBLink ) )
  11. {
  12. if ( mysql_select_db( "katalog_firm", $aDBLink ) == True )
  13. {
  14. $aQResult = mysql_query( $aSQL, $aDBLink );
  15. if ( $aQResult == True )
  16. {
  17. $aResult = mysql_insert_id( $aDBLink );
  18. }
  19. else
  20. {
  21. // print( "Błąd wykonania zapytania<br>" );
  22. $aResult = -1;
  23. }
  24. }
  25. else
  26. {
  27. // print( "Błąd wyboru bazy danych<br>" );
  28. $aResult = -2;
  29. }
  30. }
  31. else
  32. {
  33. // print( "Błąd przy podłączaniu do bazy danych<br>" );
  34. $aResult = -3;
  35. }
  36. return $aResult;
  37. }
  38. ?>


i już w sumie niewiem czy to wina bazy, wina kodu, wina moich początków ale to jest irytujące sad.gif
Go to the top of the page
+Quote Post
SebastianSerafin
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.11.2005

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


Podaj strukturę tabeli, jest to pomocne bardzo. W ciemno trochę ciężko powiedzieć czego może być wina.

Ten post edytował SebastianSerafin 28.04.2006, 08:34:26
Go to the top of the page
+Quote Post
sweety
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.04.2006

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


struktura to dwa proste pola:
adres
email
o typie varchar
i adres jest kluczem.

To jest dla mnie strasznie dziwne sad.gif połączenie z bazą działa (można wyświetlać, wyszukiwać) a dodawać nie sad.gif.
Go to the top of the page
+Quote Post
SebastianSerafin
post
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.11.2005

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


Ja postępuje tak, jeżeli jest problem z bazą wyświetlam sobie treść kwerendy, zrób tak:

  1. <?php
  2. $zapytanie = "INSERT INTO firma SET witryna='$witryna', email='$email' ";
  3. echo $zapytanie.'<br>';
  4. $wykonaj = mysql_query ($zapytanie);
  5. ?>

Zobaczysz kwerendę, następnie uruchomić ją można w konsoli lub programie do obsługi mysql(polecam MySQL-Front lub Navicat.
Tam podpowie gdzie jest błąd, zmieniasz dotąd aż działa w konsoli lub programie i już widzisz czego wina, czy zapytania, bazy czy może php.
Go to the top of the page
+Quote Post
snipe
post
Post #7





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

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


mozesz zrobic tak jak powiedzial SebastianSerafin badz tak:

  1. <?php
  2. $wykonaj = mysql_query($zapytanie) or die(mysql_error());
  3. ?>


Jak bedziesz miec blad w zapytaniu powinno wywalic Ci go na ekran smile.gif


--------------------
Go to the top of the page
+Quote Post
1maciek
post
Post #8





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 12.10.2004

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


do kodu z pierwszego posta

sprawdz czy $register_globals masz wlaczone na On, jesli nie (zalecane) powinienes do zmiennych z formularza odnosic sie przez tablice $_GET['nazwa_zmiennej']
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 Aktualny czas: 21.08.2025 - 22:21