Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Skrypt dodajacy wiersz do tabeli
zeetor
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 1
Dołączył: 1.07.2008
Skąd: Poznań

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


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. ?>
Powód edycji: dodałem bbcode (cysiaczek)
Go to the top of the page
+Quote Post
k_@_m_i_l
post
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Następny.Nie wiesz do czego służa znaczniki php przy wstawianiu postu (IMG:http://forum.php.pl/style_emoticons/default/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.

Ten post edytował k_@_m_i_l 6.07.2008, 20:53:28
Go to the top of the page
+Quote Post
mls
post
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


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).
Go to the top of the page
+Quote Post
zeetor
post
Post #4





Grupa: Zarejestrowani
Postów: 76
Pomógł: 1
Dołączył: 1.07.2008
Skąd: Poznań

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


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
Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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. ?>
Go to the top of the page
+Quote Post
zeetor
post
Post #6





Grupa: Zarejestrowani
Postów: 76
Pomógł: 1
Dołączył: 1.07.2008
Skąd: Poznań

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


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?(IMG:http://forum.php.pl/style_emoticons/default/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?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

prosze o pomoc

pozdr
Go to the top of the page
+Quote Post
k_@_m_i_l
post
Post #7





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Pokaż schemat bazy danych,bo z tego błędu wynika że wstawiasz źle dane do bazy.
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: 25.08.2025 - 04:21