Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Skrypt dodajacy wiersz do tabeli
Forum PHP.pl > Forum > Przedszkole
zeetor
Ludzie,,,mam prosbę może ktoś prawdzić czy ten skrypt jest poprawny?
Baze udało mi sie utworzyc, tabele też ...ale wierszy z danymi dodac do tabeli nie mogę...
Z góry dz i pozdr

  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', 'plazma')
  3. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); 
  4.  
  5. echo "Udało się połączyć z serwerem!<br />";
  6.  
  7. $db = @mysql_select_db('player', $connection) 
  8. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); 
  9.  
  10. echo "Udało się połączyć z bazą dancych!";
  11.  
  12. $zapytanie = "INSERT INTO `indy` (`id`, `nazwisko`, `imie`, `lata` , `liczba`) VALUES ('', 'Kowalski', 'Jan', '32', '111')";
  13.  
  14. $idzapytania = mysql_query($zapytanie);
  15.  
  16.  
  17. mysql_close($connection);
  18.  
  19. ?>
k_@_m_i_l
Następny.Nie wiesz do czego służa znaczniki php przy wstawianiu postu questionmark.gif Następnym razem naucz się kożystać z tego.
Po pierwsze to miejsce gdzie wpisujesz rekord do bazy spróbuj tak :
  1. <?php
  2. $zapytanie = &#092;"INSERT INTO `indy` (`id`, `nazwisko`, `imie`, `lata` , `liczba`) VALUES ('NULL', 'Kowalski', 'Jan', '32', '111')\";
  3. ?>

i dodaj mu to :
  1. <?php
  2. $zapytanie = &#092;"INSERT INTO `indy` (`id`, `nazwisko`, `imie`, `lata` , `liczba`) VALUES ('', 'Kowalski', 'Jan', '32', '111')\";
  3.  
  4. $idzapytania = mysql_query($zapytanie) or die('Wystąpił błąd : '.mysql_error());
  5. ?>


i podaj komunikat błędu.
mls
Jeśli pole id posiada flagę auto_increment, wówczas wystarczy:
  1. INSERT INTO `indy` (`nazwisko`, `imie`, `lata` , `liczba`) VALUES ('Kowalski', 'Jan', '32', '111')


Oczywiście zakładając, że wszystkie pola są typu char lub varchar. Dla pól numerycznych nie ma potrzeby stosowania apostrofów/cudzysłowów (ba, jest to nawet zły nawyk bo nie każda baza danych robi konwersję typów pól automatycznie).
zeetor
Drobne poprawki w kodzie który zapodałeś tzn. cudzysłów z przed INSERT INTO przenisołem przed \ ... i znak \ przed ostatnim cudzysłowem wykasowałem (musiałem to zrobić bo jakieś błędy stale wychodziły)....
...odpaliłem i wyskoczyło:

Udało się połączyć z serwerem!
Udało się połączyć z bazą dancych!
Wystąpił błąd : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\INSERT INTO `indy` (`id`, `nazwisko`, `imie`, `lata` , `liczba`) VALUES ('' at line 1

pozdr
piotrooo89
czy taka forma zapytanie nie wydaje się bardziej przejrzysta?

  1. <?php
  2. $zapytanie = "INSERT INTO indy SET
  3. nazwisko='Kowalski',
  4. imie='Jan',
  5. lata='32',
  6. liczba='111'";
  7.  
  8. $idzapytania = mysql_query($zapytanie) or die('Wystąpił błąd : '.mysql_error());
  9. ?>
zeetor
Piotrooo89 napewno taka forma jest bardziej przejżysta, ale mógłby mi kotós powiedzieć dlaczego ten błąd mi wyskakuje...(post wyżej)...
i jak go ewnetualnie wyeliminować (prośzę tylko nie odsyłajcie mnie do angielsko języcznych stronek)...

Może mam coś żle skonfigurowane?questionmark.gif
Wczoraj na przykład po usilnych próbach zapisania wiersza do tabeli... udało mi się...
odczytać szło pienie wszystkie dane...a dziisaj rano włączam kompa...sprawdzam a tabela jest pusta?questionmark.gif

prosze o pomoc

pozdr
k_@_m_i_l
Pokaż schemat bazy danych,bo z tego błędu wynika że wstawiasz źle dane do bazy.
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.