![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Mam pewien problem, napisałem sobie kod php z zapytaniem MySQL, tylko, że nie działa. Znaczy działa ale nie tak jak ja chcę.
Cały czas przy
Wyskakuje nie wpisano, nie wiem dlaczego ten warunek przyjmuje wartość false. Wcześniej zczytywałem zmienne z formularza ale teraz to uprościłem, żeby nie mieszać niepotrzebnie. Jak to zapytanie będzie działac, to będę zczytywał z _POST |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Ciapki i łączenie ciągów już nie obowiązuje?
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dla tego że nie podałeś jakie kolumny pakujesz, ergo MySQL oczekuje w VALUES że podasz dane dla WSZYSTKICH kolumn z tabeli....
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Tzn. jak mam podac kolumny? Myślałem, że po VALUES będzie wpisywał po kolei, też tak zmieniłem, mam 4 kolumny
Efekt ciągle ten sam, pierwszą mam kolumnę ID jako integer, potem mam 3 kolumny jako TINYTEXT. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zamiast nic nie mowiacego
echo "nie wpisane"; Wyswietl blad bazy danych a wszystko bedzie jasne... echo mysqli_error($db_lnk); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Z powyższymi sobie poradziłem idealnie dzięki Waszej pomocy, natomiast mam problem z tym:
Znowu się zawiesiłem, chodzi o tę nieszczęsną tablice _POST A tu jest błąd Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /home/dukov/ftp/testphp/sendscript.php on line 11 Ktoś pomoże? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
{$_POST['title']}
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
O już coś do przodu ale natknąłem się na kolejny problem, wartość zamiast jako wartość traktuje jako nazwę kolumny
Tak to przepisałem, a wyświetla taki błąd: Unknowncolumn 'wpis' in 'field list' |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
nie masz w bazie w tabeli kolumny o nazwie wpis
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Mistrzu, wiem. Ale ja chce, żeby traktowało mi to jako wartość, a nie jako nazwę kolumny. O tym piszę zresztą.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jak chcesz, by wartosc traktowano jako tekst a nie nazwe kolumny, to powiedz dla mysql ze to tekst... Kurcze, uzyj apostofow, tak jak to robisz przy innych wartosciach tekstowych. Jedna wartosc bierzesz w apostrof, inna nie i zdziwiony :/
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 221 Pomógł: 14 Dołączył: 11.03.2009 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@ InosU31 nazwy kolumn nie sa potrzebne.
Owszem, sa przydatne, ale nie sa potrzebne. Problemem tutaj jest brak apostrofow jak pisalem -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 221 Pomógł: 14 Dołączył: 11.03.2009 Skąd: Lubaczów Ostrzeżenie: (0%) ![]() ![]() |
@nospor dzięki za info nie wiedziałem o tym ;-) Dałbym Ci łapkę ale nie widzę takiej opcji ;-)
Napisałem swoją odpowiedź żeby Dukov wiedział jak zapisać te apostrofy ;-) Pozdrawiam |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jesli faktycznie masz tak u siebie, to polecam lekture SQL INJECTION
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dobra dzięki panowie. PHP się ucze, a ostatnio mam ciężki okres i wszystko do mnie dociera w połowie. Się ogarnę i będę kombinował. Ale jeśli ma ktoś chęć mi napisać tą linijke, to byłbym wdzięczny. Bo uczę się tego z książek, neta po pracy, przed pracą i na przerwie o ile mam czas, więc proszę o wyrozumiałość
![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przeciez dostales juz odpowiedzi jak masz to poprawic
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o http://php.net/manual/pl/mysqli.prepare.php wtedy odejdzie problem łączenia ciągów i zabezpieczeń.
-------------------- |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dostałem, zmieniłem tak jak wjkeił przykład InosU31
Teraz wywala taki błąd Youhave an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 3 Tym razem muszę mieć nazwy kolumn, bo w tabeli mam pierwzą kolumnę ID jako auto increment. |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#22
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pomijajac odpowiedz vikinga, ktora jak najbardziej jest ok, to naprawde uwazasz ze to:
VALUES (( jest ok? InosU31 podal ci poprawny kod z jednym ( VALUES ( ja rozumiem, ze jestes poczatkujacy, ale kurcze, CTRL+C, CTRL+V to naprawde zadna magia -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Wiesz, ja wcześniej skopiowałem czyjś kod z VALUES (, a zostało moje (. Nie, nie jest ok, przeoczyłem to. Dzięki wszystkim, znowu brak trochę czasu ale teraz myślę, już sobie z tym poradzę. Choć zastanawiam się czy nie porwałem się na zbyt skomplikowane rzeczy jak na sam początek, bo wcześniej moim największym osiągnięciem było wysłanie emaila, znaczy skopiować kod z neta i wpisać swoje pola. Dzięki Viking za gotowca ale rozumiem, że
To jest teraz ok? To jest kod Inosa z moimi polami. Ten post edytował Dukov 25.05.2017, 15:38:52 |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Oprócz nieczytelnego śmietnika i podatności na sql injection, jeśli działa jest ok
![]() -------------------- |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy działa, czy nie, bo nie sprawdziłem, za chwilę sprawdzę, póki co skaczę z radości, że zadziałał skrypt z drugiego tematu. Szczerze na początku myślałem, eee co tam php, banał, w szkole miałem MySQL ostatnio non stop coś w JavaScripcie pisze ale teraz dopiero widzę jak mało wiem i ile jeszcze mnie czeka drogi.
Zaznaczyłem 'sss' w drugiej linii, skąd to wziąłeś? Rozumiem, że mogę to bez problemu skasować. A dwa, to pierwszą kolumnę w bazie mam ID jako auto increment, żeby z drugiego skryptu pozbyć się inkrementacji zmiennej i, rozumiem, że to pole w rekordzie nie ma wpływu na to zapytanie i będzie tak czy tak działać? EDIT Działa z 'sss' nie rozumiem jednak skąd to? Ten post edytował Dukov 25.05.2017, 15:55:15 |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko jest opisane w dokumentacji http://php.net/manual/pl/mysqli-stmt.bind-param.php
Oznacza to że, w tym wypadku, poszczególne dane są stringami. Gdybyś tam wstawiał ręcznie do pola auto increment to zapewne było by to `iss`. https://prophp.pl/advice/show/14/jak_czytac...mentacje_php%3F Ten post edytował viking 25.05.2017, 16:01:43 -------------------- |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 21.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
No i znowu jest problem, a więc wszystko fajnie działało, chciałem dodać jeszcze jedną wartość do bazy
$randstring, to losowo wygenerowany ciąg znaków alfanumerycznych, w bazie mam pola ID, title, desci, link. ID jako auto increment, co już wcześniej mówiłem. wywala taki błąd Column count doesn't match value count at row 1. Ktoś coś? EDIT działa, zaś przeoczyłem mała pierdołe Ten post edytował Dukov 26.05.2017, 16:02:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 11:12 |