• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Rejestracja i wiążące się z nią dodanie użytkownika do bazy danych

Object Storage Arubacloud
0 głosów
360 wizyt
pytanie zadane 3 czerwca 2015 w SQL, bazy danych przez Eerie Mądrala (7,130 p.)
zamknięte 4 czerwca 2015 przez Eerie

No, problem jest taki, że właściwie nie umiem tego zrobić. Piszę sobie skrypt w PHP i wygląda on tak:

if($result = @$connection->query(
		sprintf("insert into users (login, password, register date, sin, level, available, banned, admin)
		values ('%s', '%s' '%s', 0, 1, 1, 0, 0)",
		mysqli_real_escape_string($connection, $login),
		mysqli_real_escape_string($connection, $password),
		mysqli_real_escape_string($connection, $date))))
		{
			echo "ok";
		}

Wcześniej oczywiście jest łączenie się z bazą danych i tak dalej, przepuszczenie stringa przez htmlentities. Robię grę przeglądarkową tak btw :D

Mój problem polega na tym, że w ogóle nie wiem czy dobrze robię tą rejestrację. Cóż, pan Mirosław nie zrobił jeszcze video pokazującego rejestrację, to muszę sobie radzić sam :D Jestem pewien, że w PHP nie ma błędu, więc dlatego pytam w tym dziale. Czy moje zapytanie do bazy danych jest poprawne? Jak ono w ogóle powinno wyglądać?

Zapytanie jest raczej błędne, bo skrypt nie działa. If się nie wykonuje.

komentarz zamknięcia: Rozwiązałem problem, okazało się że zapomniałem jednego przecinka.

3 odpowiedzi

0 głosów
odpowiedź 4 czerwca 2015 przez Eerie Mądrala (7,130 p.)
 
Najlepsza
Niniejszym rozwiązałem problem. Okazało się, że w moim kodzie brakuje jednego przecinka. Dopisałem go tam gdzie trzeba i wszystko działa poprawnie. Teraz się czuję tak: http://9gag.com/gag/a33zZv3
+1 głos
odpowiedź 3 czerwca 2015 przez Comandeer Guru (601,590 p.)

Zamiast kombinować jak koń pod górkę ze sprintf poczytaj o prepared statements: http://stackoverflow.com/a/60496

A do błędów używaj odpowiednich, dedykowanych funkcji

komentarz 3 czerwca 2015 przez Eerie Mądrala (7,130 p.)
Jestem newbie i używam sprintf bo Mirosław użył tego w skrypcie z rejestracją w jednym ze swych filmów. Ale poczytam.
komentarz 3 czerwca 2015 przez Comandeer Guru (601,590 p.)

sprintf używałbym tylko przy umieszczaniu w zapytaniu nazw tabel, w innym wypadku lepiej użyć prepared statements

0 głosów
odpowiedź 3 czerwca 2015 przez HaKIM Szeryf (87,590 p.)
edycja 3 czerwca 2015 przez HaKIM
https://www.youtube.com/watch?v=DP7fb1YEHT0&list=PLCpCR27JXprEWZAf14p8VQybqo8cSXgCV&index=18.

Pierwszy Odcinek.

https://www.youtube.com/watch?v=cZ9RSa3C_jE&list=PLCpCR27JXprEWZAf14p8VQybqo8cSXgCV&index=19.

Drugi Odcinek.

Czuba używa MD5, lecz jest już stare.

Tego się używa: http://php.net/manual/en/function.password-hash.php.

Pozdrawiam.

Co do Twojego kodu to zacznij debugować. Nie widzę błędu. I tak jak kolega powyżej napisał ze sprintf, lepsze jest prepared. I polecam zacząć pisać obiektowo.

Spróbuj te zapytanie wstukać w localhost/phpmyadmin i w zakładce SQL.
komentarz 4 czerwca 2015 przez Eerie Mądrala (7,130 p.)
Właśnie wstukałem np. takie zapytanie: "insert into users (login, password, registerDate, sin, level, available, banned, admin) values (dupa1234, dupa, 2015-05-31, 0, 1, 1, 0, 0)"

(zmieniłem nazwę kolumny register date na registerDate bo myslałem że spacja może powodować bląd, jednak błąd mam nadal i to nie pomogło ale nazwa już została zmieniona.

Zapytanie jest błędne, bo wywala error:

#1054 - Unknown column 'dupa1234' in 'field list'

Czy może to mieć jakieś znaczenie, że kolumna login jest typu varchar(32) i jest primary (bo przecież nie chcę dwóch takich samych loginów w bazie danych)?

Podobne pytania

0 głosów
1 odpowiedź 211 wizyt
pytanie zadane 2 stycznia 2019 w PHP przez Patryk Kacprowicz Nowicjusz (230 p.)
0 głosów
4 odpowiedzi 665 wizyt
pytanie zadane 8 lipca 2015 w SQL, bazy danych przez Mieszko I Stary wyjadacz (10,980 p.)
0 głosów
1 odpowiedź 1,143 wizyt
pytanie zadane 15 lipca 2015 w SQL, bazy danych przez pawwia Początkujący (280 p.)

92,580 zapytań

141,433 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...