Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie INSERT do bazy danych.
Grafnastyk
post 25.08.2017, 17:23:51
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

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


Witam, z pewnością temat wałkowany już miliony razy, aczkolwiek nic podobnego do mojego problemu na forum nie znalazłem, google też nie pomogło, nic nie działało. Chce wysłać rekordy do bazy danych

to mój plik php:

  1. <?php
  2.  
  3. $connection = mysql_connect('localhost', 'root', '') or die ('nie udalo sie polaczyc z serverem'.mysql_error()); // Połączenie z serwerem
  4. $db = mysql_select_db('maromail', $connection) or die ('nie udalo sie polaczyc z baza danych'.mysql_error()); //Połączenie z bazą
  5.  
  6. $first_name = $_POST['firstname'];
  7. $last_name = $_POST['lastname'];
  8. $when_it_happened = $_POST['whenithappened'];
  9. $how_long = $_POST['howlong'];
  10. $how_many = $_POST['howmany'];
  11. $alien_description = $_POST['aliendescription'];
  12. $what_they_did = $_POST['whattheydid'];
  13. $other = $_POST['other'];
  14. $email = $_POST['email'];
  15. echo 'Dziekujemy za przeslanie formularza.<br />';
  16.  
  17.  
  18.  
  19. $dane = mysql_query("INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_they_did, fang_spotted, other, email)
  20. VALUES ("$first_name", '$last_name', '$when_it_happened', '$how_long', '$how_many', '$alien_description', '$what_they_did', '$other', '$email')"); // wysłanie rekordów do bazy rekordów z bazy
  21. var_dump($dane);
  22. mysql_query($connection, $db) or die ('Błąd w zapytaniu do bazy');
  23.  
  24.  
  25. ?>

Po wysłaniu formularza pojawia się taki błąd : Parse error: syntax error, unexpected '$first_name' (T_VARIABLE) in C:\xampp\htdocs\cwiczenia\mail.php on line 20

Próbowałem już dodać '.$first_name.' oraz '.{$first_name}.' jak również podwójny apostrof, dodawałem również apostrofy w zmiennej $dane i nic, nie działa nie mam pojęcia już co zrobić by udało mi się wysłać te dane do bazy. Czy jest tu ktoś kto mógłby mi w jakiś sposób pomóc? Uczę się php z książki, ale kod z niej też mi nie działa.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Pyton_000
post 25.08.2017, 17:30:01
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Źle przepisujesz...

nie :"$first_name"
a '$first_name'
Go to the top of the page
+Quote Post
Grafnastyk
post 25.08.2017, 17:32:44
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

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


Jeśli jest pojedynczy apostrof to wyrzuca taki błąd:

Dziekujemy za przeslanie formularza.
bool(false)
Warning: mysql_query() expects parameter 1 to be string, resource given in C:\xampp\htdocs\cwiczenia\mail.php on line 22
Błąd w zapytaniu do bazy
Go to the top of the page
+Quote Post
Pyton_000
post 25.08.2017, 18:02:48
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


bo pewnie wkładasz dane z ', musisz je escapować. w MySQL robi się to przez ' czyli np: 'Twoje''s name' => 'Twoje 's name'
Go to the top of the page
+Quote Post
Grafnastyk
post 25.08.2017, 18:14:18
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

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


A mógłbyś trochę jaśniej ? Zajmuje się PHP aż od wczoraj no i nie bardzo Cię rozumiem co_jest.gif
Go to the top of the page
+Quote Post
viking
post 25.08.2017, 18:24:52
Post #6





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Używasz przestarzalego rozszerzenia i zezwalasz na atak sql injection. Zastosuj na danych funkcję mysql_real_escape_string. Obecnie nie dość ze jest dziurawy to wstawienie apostrofu wywali zapytanie.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 25.08.2017, 18:27:04
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


To radzę poszukaj innego kursu.

Tu masz przyzwoity kurs który nauczy Cię podstaw. Wywal tą swoją książkę do kosza albo spal co by nie kusiła więcej.

https://www.youtube.com/watch?v=WSeKPbVZBoo...JWXQbm2geG1V2uh
Go to the top of the page
+Quote Post
Grafnastyk
post 25.08.2017, 18:30:00
Post #8





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

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


Tak nakazywała książka więc tym się kierowałem. Po zmianie mysql_query na mysql_real_escape_string wyskakuje mi błąd :
Dziekujemy za przeslanie formularza.
string(274) "INSERT INTO aliens_abduction (first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_they_did, fang_spotted, other, email)\r\nVALUES (qwd, \'qwdqw\', \'qwdcqw\', \'cqcw\', \'qcwq\', \'wqc\', \'wqcwqc\', \'qwcqw\', \'kamil.lesniak94@gmail.com\')"
Warning: mysql_query() expects parameter 1 to be string, resource given in C:\xampp\htdocs\cwiczenia\mail.php on line 22
Błąd w zapytaniu do bazy

Więc, może ja zapytam inaczej, jak przebudować to zapytanie by wysłało dane na server ? Chciałbym mieć nowy przykład, by móc się w przyszłości na czymś wzorować i wiedzieć jak używać tej opcji, bo wiem, że jest podstawą w PHP.
Go to the top of the page
+Quote Post
viking
post 25.08.2017, 18:45:57
Post #9





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Wypadało by zajrzeć do dokumentacji. Masz tam przykłady jak to stosować. A nie bezmyślnie zastępować.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 25.08.2017, 18:49:00
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Powiedziałem Ci już. Wywal to co masz do kosza (kod PHP) i książkę i zerknij w to co Ci wysłałem. mysql_* nie powinno się używać od kilku lat, ale dalej w sieci są stare tutoriale które dalej tego uczą.
Go to the top of the page
+Quote Post
Grafnastyk
post 25.08.2017, 18:52:29
Post #11





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

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


Viking No cóż, jak mówię z php mam styczność od wczoraj, nie ogarniam tego tak samo jak Ty. Oglądnę sobie te poradniki co dostałem do nich link. Od czegoś trzeba zacząć, weź pod uwagę, że i Ty kiedyś swoją przygodę z php zaczynałeś.

Pyton_000 Książka na szczęście nie kupowana, choć teraz rozważam opcje czy by nie kupić właśnie z najnowszą wersją PHP. Poradnik z YT już odpalony i oglądam. No właśnie, ja dopiero zaczynam nie miałem pojęcia co i jak i właśnie książka wydawała mi się najlepszą opcją. Czy po tych tutorialach, da radę pociągnąć naukę PHP samemu ?
PS. Odstawiłem ją na bok smile.gif
Go to the top of the page
+Quote Post
viking
post 25.08.2017, 19:02:13
Post #12





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Zdaję sobie sprawę ale masz pełne przykłady użycia w dokumentacji. Najbardziej aktualne z masą komentarzy niżej. Nie ważne czy dalej będziesz czytał książki czy poradniki na yt, manual jest zawsze podstawą . jest w nim też wielki czerwony komunikat dlaczego nie używać mysql. w stopce mam też artykuł o pdo ale nie liczę że po dniu z php będziesz wiedział co robić.


--------------------
Go to the top of the page
+Quote Post
Grafnastyk
post 25.08.2017, 19:07:05
Post #13





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

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


Podglądam poradniki to i zerknę w dokumentacje oczywiście ale najpierw chce zobaczyć co jest do czego i z czym to się je, by dokumentację zrozumieć i wykorzystać w praktyce. Bo mówiąc szczerze otwierając dokumentację teraz i patrząc na to zagadnienie, to niewiele rozumiem z tego kodu, który tam sie znajduje.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:23