Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z INSERT INTO, Problem z wpisywaniem danych z zmiennych
-Gość_Adam-
post
Post #1





Goście







Witam wszystkich webmasterow,
postanowilem sie nauczyc php smile.gif Wiadomo, poczatki zawsze sa trudne, ale dobra do rzeczu. Otoz kiedy chce wpisac do bazy mySQL w tabele kilka danych ktore pobieram ze zmiennych skrypt nie dziala sad.gif

  1. <?php
  2.  
  3.  //Laczenie z baza danych
  4.  $db = mysql_connect(&#092;"127.0.0.1\", \"****\", \"****\");
  5.  mysql_select_db(&#092;"db_mysql\",$db);
  6.  
  7.  //Dodaj nowy komentarz do bazy danych
  8.  $sql = &#092;"INSERT INTO komentarze VALUES(1, $f_osoba, $f_email, $f_tresc)\";
  9.  $result = mysql_query(&#092;"$sql\",$db);
  10.  
  11. ?>


No i wlasnie ten kod nie dziala sad.gif Zmienne sa pozyskiwane wprost z formularza.
Zrobilem test i kiedy zamienie linijke odpowiedzialna za wpis do tabeli na:

  1. <?php
  2.  
  3. $sql = &#092;"INSERT INTO komentarze VALUES(1, 2, 3, 4)\";
  4.  
  5. ?>


wtedy wszystko ladnie dziala sad.gif

Bardzo prosze o pomoc
Go to the top of the page
+Quote Post
Coyote
post
Post #2





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 20.02.2005
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


w php.ini masz wylaczone register globals ... wiec musisz pobierac zmienne w taki sposob $_POST['$zmienna'] albo $_GET['$zmienna']


--------------------
Go to the top of the page
+Quote Post
-almakot-
post
Post #3





Goście







ee tam zaraz, jeżeli wymieniasz wartości zmiennych, które w tabeli wpisujesz do pól typu text, varchar, musisz użyć nawiasu, czyli

  1. <?php
  2. $sql = &#092;"INSERT INTO komentarze VALUES(1, '$f_osoba', '$f_email', '$f_tresc')\";
  3. ?>


lub lepiej

  1. <?php
  2. $sql = &#092;"INSERT INTO komentarze VALUES(1, '\".$f_osoba.\"', '\".$f_email.\"', '\".$f_tresc.\"')\";
  3. ?>


Uwaga dotycząca register_globals jest jak najbardziej na miejscu, stąd Twój skrypt powinien docelowo wyglądać mniej więcej tak:

  1. <?php
  2. $sql = &#092;"INSERT INTO komentarze VALUES(1, '\".$_POST['f_osoba'].\"', '\".$_POST['$f_email'].\"', '\".$_POST['$f_tresc'].\"')\";
  3. ?>


Oczywiście jeżeli używasz metody POST, dla GET użyj tablicy $_GET
Go to the top of the page
+Quote Post
Ociu
post
Post #4





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




i wyucz się nawyku korzystania z mysql_error" title="Zobacz w manualu PHP" target="_manual();
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: 20.08.2025 - 23:00