![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko już jest na dobrej drodze, problem mam jeszcze z zapytaniem do bazy
Tutaj jest błąd
Skąd wiem? Bo jak wykomentuje to skrypt leci do kolejnej lini i mam wyświetla się ok, z echa. Jeśli skasuje komentarz to przechodzi do instrukcji catch i z echa wyświetla się duppp. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jaki błąd? echo $e->getMessage();
Poza tym http://php.net/manual/en/pdo.prepare.php -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 1
Błąd składni widocznie, jakiś znak źle, ale sorry już mi się tak miesza, że nie dojdę sam do tego, więc jak ktoś mi to wytłumaczy łopatologicznie będę wdzięczny, tymbardziej, że skrypt logowania będę musiał dopracować (ale tamten działa, tylko przekierowania zrobić) do tego zahashować hasła i dopisać funkcje sprawdzającą, czy nie istnieje już taki plik. Z czy się nie powtarza ID już zrobiłem i nawet ładnie rekurencyjnie mi to wyszło :] no i wysłanie maila ogarnąć. A ostatnie tabele, admin itd, mam w tabeli jako boolean, choć z automatu mi dało TINYINT, a przed tymi kolumnami mam też KEY jako A_I, nie wiem czy nie powineinem tam dopisać pustej wartości czy coś. Ten post edytował Dukov 25.07.2017, 16:13:24 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
'$userCity, $avatar'
Poza tym id to nie wartość string jak to teraz zapisujesz. Zastosuj prepare i problem zniknie. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Albo czegoś nie zrozumiałem albo jestem ślepy i czegoś nie widzę, pozmieniałem ale nadal to smao
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę w dokumentacji jest to tak zapisane? Poza stosuj `` do nazw.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak jest w dokumentacji, ale siedzę przy kompie w zasadzie odkąd mam l4, czyli od 18 lipca z kilkoma przerwami na sen i już nie mam siły tam zajrzeć, a chciałbym, żeby to tylko działało. Na nauke przyjdzie pora, jak się wezmę za system komentarzy ale musze już odpocząć.
Ten post edytował Dukov 25.07.2017, 16:33:42 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
https://dev.mysql.com/doc/refman/5.7/en/keywords.html
I poszukaj sobie name. Później zastosuj się do mojego poprzedniego wpisu. -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Majster, wszystko jest ok, tylko jak to ja, przeoczyłem zamknięcie nawiasów VALUES
![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Z kodu powyżej nie wynika żebyś miał problem z zamknięciem tylko ewidentnie słowo kluczowe. I zrób w końcu coś z tym sql injection. Wzorzec na weryfikację maila jest też jakimś przestarzałym badziewiem.
Ten post edytował viking 26.07.2017, 03:37:14 -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Tak jak mówi viking zainteresuj się funkcją do walidacji wartości:
http://php.net/manual/en/filter.examples.validation.php Oraz hashowaniem hasła: password_hash |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Z kodu powyżej nie wynika żebyś miał problem z zamknięciem tylko ewidentnie słowo kluczowe. I zrób w końcu coś z tym sql injection. Wzorzec na weryfikację maila jest też jakimś przestarzałym badziewiem. No proooszę cię ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Hej, znowu będę Wam zawracał głowę ![]() Mam pewien problem oczywiście z bazą, nie działa to zapytanie
A tu cały kod
Wiem, że problem jest z zapytaniem, bo skrypt działa do miejsca, w którym wyświetlam zmienne, które mają być do niej wpisane, wrzuciłem je do echo, bo myślałem, że może któraś zmienna jest pusta albo z nimi jest problem, ale widzę, że wyświetla je, tak jakimi powinny być. Ten post edytował Dukov 7.08.2017, 20:05:31 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wydrukuj na ekran pełną treść zapytania (z podstawionymi zmiennymi) i wykonaj bezpośrednio na bazie (np. w PHPMyAdmin czy kliencie desktopowym).
P.S. Jeśli nie bindujesz wartości do zapytań, to prepare+execute jest zupełnie niepotrzebne, wystarczy exec. Ale oczywiście binduj, jeśli nie ufasz zawartości i pochodzeniu zmiennych. -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
AuthorIP miałem jako INT, a w adresie są kropki. Dzięki, na przyszłość będę wiedział, że jak coś wygląda ok, to żeby sprawdzić sam SQL, aczkolwiek możesz mi powiedzieć, czy dobrze robię, ze każda funkcja, która potrzebuje coś z bazy łączy się z bazą? Czy lepiej napisać osobną funkcje do łączenia z bazą? Albo łączyć się tylko w głównej funkcji i wywoływać w niej pozostałe?
EDIT Działa. Ten post edytował Dukov 7.08.2017, 20:38:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 05:31 |