Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [sql] Błąd zapytania - Jak to naprawić?
jacus24
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Podcza próby rejestracji wyskakuje mi taki błąd
Kod
  Something is wrong in your syntax obok '= 'jacus24'' w linii 1


Jaka jest tego przyczyna i jak można to naprawić gdzie mam szukać błędu?
Proszę o pomoc

Ten post edytował JaRoPHP 15.12.2007, 23:31:50
Powód edycji: Dodanie tagu + drobna zmiana tematu
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Wyświetl sobie zapytanie SQL, które wykonujesz. Jeśli nie znajdziesz w nim błędu sam, to wklej tutaj to zapytanie.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
jacus24
post
Post #3





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


chyba o to chodziło:
  1. <?php 
  2.  } else {
  3.  $query = "INSERT INTO user_info (username . password . email. " .
  4. "first_name . state . city . wiek . waga . wzrost . jestem. " .
  5. "aktualnie . chcialbym . lubie . nie_lubie . szukam) " .
  6. "VALUES ('" . $_POST['username'] . "'." .
  7. "(PASSWORD('" . $_POST['password'] . "')). '" .
  8. $_POST['email'] . "'. '" . $_POST['first_name'] .
  9. "' . '" . $_POST['state'] . "' . '" . $_POST['city'] . 
  10. "' . '" . $_POST['wiek'] . "' . '" . $_POST['waga'] . 
  11. "' . '" . $_POST['wzrost'] . "' . '" . $_POST['jestem'] . 
  12. "' . '" . $_POST['aktualnie'] . "' . '" . $_POST['chcialbym'] . 
  13. "' . '" . $POST['lubie'] . "' . '" . $_POST['nie_lubie'] . 
  14. "' . '" . $_POST['szukam'];
  15. $result = mysql_query($query)
  16. or die(mysql_error());
  17. $_SESSION['user_logged'] = $_POST['username'];
  18. $_SESSION['user_password'] = $_POST['password'];
  19. ?>
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




A czy przed
  1. <?php
  2. $result = mysql_query($query)
  3. ?>


Możesz dać
  1. <?php
  2. print $query;
  3. ?>


? i pokaż, co wypisze.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
jacus24
post
Post #5





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


dałem tak mam nadzieje że tak miało być
Kod
<?php
} else {
   $query = "INSERT INTO user_info (username . password . email. " .
                        "first_name . state . city . wiek . waga . wzrost . jestem. " .
                        "aktualnie . chcialbym . lubie . nie_lubie . szukam) " .
                        "VALUES ('" . $_POST['username'] . "'." .
                        "(PASSWORD('" . $_POST['password'] . "')). '" .
                        $_POST['email'] . "'. '" . $_POST['first_name'] .
                        "' . '" . $_POST['state'] . "' . '" . $_POST['city'] .
                        "' . '" . $_POST['wiek'] . "' . '" . $_POST['waga'] .
                        "' . '" . $_POST['wzrost'] . "' . '" . $_POST['jestem'] .
                        "' . '" . $_POST['aktualnie'] . "' . '" . $_POST['chcialbym'] .
                        "' . '" . $POST['lubie'] . "' . '" . $_POST['nie_lubie'] .
                        "' . '" . $_POST['szukam'];
        print $query;
        $result = mysql_query($query)
          or die(mysql_error());
        $_SESSION['user_logged'] = $_POST['username'];
        $_SESSION['user_password'] = $_POST['password'];
?>
ale to samo jest
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #6





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Masz błąd w zapytaniu SQL.

Cysiaczek napisał, abyś zrobił:
  1. <?php
  2. print $query;
  3. ?>
i napisał na forum co się wyświetliło.

Przenoszę na Przedszkole.


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
jacus24
post
Post #7





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


dałem tak i to samo mam
Kod
<?php
} else {
   $query = "INSERT INTO user_info (username . password . email. " .
                        "first_name . state . city . wiek . waga . wzrost . jestem. " .
                        "aktualnie . chcialbym . lubie . nie_lubie . szukam) " .
                        "VALUES ('" . $_POST['username'] . "'." .
                        "(PASSWORD('" . $_POST['password'] . "')). '" .
                        $_POST['email'] . "'. '" . $_POST['first_name'] .
                        "' . '" . $_POST['state'] . "' . '" . $_POST['city'] .
                        "' . '" . $_POST['wiek'] . "' . '" . $_POST['waga'] .
                        "' . '" . $_POST['wzrost'] . "' . '" . $_POST['jestem'] .
                        "' . '" . $_POST['aktualnie'] . "' . '" . $_POST['chcialbym'] .
                        "' . '" . $POST['lubie'] . "' . '" . $_POST['nie_lubie'] .
                    "' . '" . $_POST['szukam'];?>
        <?php
print $query;
?>
<?
        $result = mysql_query($query)
          or die(mysql_error());
        $_SESSION['user_logged'] = $_POST['username'];
        $_SESSION['user_password'] = $_POST['password'];
?>
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #8





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Chyba się nie rozumiemy...

Wykonaj takie coś:
  1. <?php
  2. $query = "SELECT ..." // całe Twoje zapytanie
  3. echo $query;
  4. die();
  5. ?>

Chcę tylko zobaczyć, jak wygląda zapytanie po przetworzeniu (przed wysłaniem go do bazy).


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
jacus24
post
Post #9





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Kod
$query = "SELECT * FROM user_info" .
         "WHERE username = '" . $_SESSION['user_logged'] . "' " .
                 "AND password = (PASSWORD('" .
                 $_SESSION['user_password'] . "'))";
$result = mysql_query($query)
   or die(mysql_error());

Jeśli nie o to chodziło to nie mam już pojęcia mam przed sobą dwie książki i robie na ich podstawie więc nie wiem co mam już zrobić:(
Go to the top of the page
+Quote Post
webdice
post
Post #10


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




To zapytanie to jest jedna wielka pomyłka, zmień na:

  1. <?php
  2.  
  3. $query = "INSERT INTO user_info (`username`, `password`, `email`, `first_name`, `state`, `city`, `wiek`, `wa
    ga`, `wzrost`, `jestem`, `aktualnie`, `chcialbym`, `lubie`, `nie_lubie`, `szukam`) VALUES ('"
     . $_POST['username'] . "', PASSWORD('" . $_POST['password'] . "'), '" .$_POST['email'] . "', '" . $_POST['first_name'] ."', '" . $_POST['state'] . "', '" . $_POST['city'] . "', '" . $_POST['wiek'] . "', '" . $_POST['waga'] . "', '" . $_POST['wzrost'] . "', '" . $_POST['jestem'] . "', '" . $_POST['aktualnie'] . "', '" . $_POST['chcialbym'] . "', '" . $POST['lubie'] . "', '" . $_POST['nie_lubie'] . "', '" . $_POST['szukam'] . "')";
  4.  
  5. ?>
Go to the top of the page
+Quote Post
jacus24
post
Post #11





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


dałem
Kod
<?php
} else {
   ?><?php

$query = "INSERT INTO user_info (`username`, `password`, `email`, `first_name`, `state`, `city`, `wiek`, `waga`, `wzrost`, `jestem`, `aktualnie`, `chcialbym`, `lubie`, `nie_lubie`, `szukam`) VALUES ('" . $_POST['username'] . "', PASSWORD('" . $_POST['password'] . "'), '" .$_POST['email'] . "', '" . $_POST['first_name'] ."', '" . $_POST['state'] . "', '" . $_POST['city'] . "', '" . $_POST['wiek'] . "', '" . $_POST['waga'] . "', '" . $_POST['wzrost'] . "', '" . $_POST['jestem'] . "', '" . $_POST['aktualnie'] . "', '" . $_POST['chcialbym'] . "', '" . $POST['lubie'] . "', '" . $_POST['nie_lubie'] . "', '" . $_POST['szukam'] . "')";

?>
        <?php
print $query;
?>
<?
        $result = mysql_query($query)
          or die(mysql_error());
        $_SESSION['user_logged'] = $_POST['username'];
        $_SESSION['user_password'] = $_POST['password'];
?>
i to samo
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #12





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@jacus24 - Proszę - czytaj ze zrozumieniem. 3x było mówione: wyświetl zapytanie w przeglądarce - zapytanie to nic innego jak ciąg znaków. Jeśli zrobisz print lub echo tego ciągu znaków, to zobaczysz jaki ciąg znaków dostaje baza danych i łatwiej jest debugować. Wklej nam ten ciąg znaków.

Pozdrawiam,


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
jacus24
post
Post #13





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


oki już naprawiłem i działa przepraszam za kłopot.Mam jeszcze gdziś w tym kodzie bład
Kod
<?php
$query = "SELECT * FROM user_info" .
         "WHERE username = '" . $_SESSION['user_logged'] . "' " .
                 "AND password = (PASSWORD('" .
                 $_SESSION['user_password'] . "'))";
$result = mysql_query($query)
   or die(mysql_error());
    
$row = mysql_fetch_array($result);
?>
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #14





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat(jacus24 @ 16.12.2007, 00:14:52 ) *
Mam jeszcze gdziś w tym kodzie bład
@Cysiaczek prosił, ja ostrzegam - za chwilę dostaniesz ostrzeżenie... Czytaj, analizuj pisany tekst, przemyśl go i naucz się debugować na tej podstawie...

Każde zapytanie sql-a sprawdzaj w ten sam sposób:
  1. <?php
  2. $sql = "SELECT ...";
  3. echo $sql; // zobacz zapytanie - czy jest poprawne. Na forum również wklei to, co tutaj dostajesz
  4. mysql_query($sql) or die(mysql_error()); // tym również chwal się na forum
  5. ?>


Nie każ się forumowiczom domyślać, czy dobrze przekazujesz zmienne.
Wyświetlenie zapytanie (echo $sql) pomoże. Jak nie Tobie, to na pewno innym, aby pomóc Ci smile.gif


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
jacus24
post
Post #15





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


A więc zrobiłem i zwróciło coś takiego
Kod
Something is wrong in your syntax obok '= '' AND password = (PASSWORD(''))' w linii 1


Zapytanie:
Kod
$query = "SELECT username . password FROM user_info" .
             "WHERE username = '" . $_POST['username'] . "' " .
                     "AND password = (PASSWORD('" . $_POST['password'] . "'))";
    $result = mysql_query($query)
      or die(mysql_error());


Ten post edytował jacus24 16.12.2007, 10:32:53
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #16





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


@jacus24 - czytasz dokładnie wypowiedzi innych?!

Nie interesuje mnie co zwraca mysql_error(), tylko co zwraca echo $query. Pisane to było już z 20 razy w tym wątku!
  1. <?php
  2. $query = "SELECT ..." // całe Twoje zapytanie
  3. echo $query;
  4. die();
  5. ?>

Chcę znać wynik tego...


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
jacus24
post
Post #17





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Czytam , ale już teraz nie wiem o co chodzi co mam zrobić i w jaki sposób to uczynic:(
W jaki sposób mam uzyskać ten wynik i jaki sposób mam zrobić te zapytanie?
Go to the top of the page
+Quote Post
mike
post
Post #18





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Jest weekend ale to nie zwalnia z myślenia! mad.gif
Wyświetl co zawiera zmienna $query, jak to zrobić? Dostałeś przykładowy, gotowy! kod już kilka razy w tym wątku.
Umówmy się tak: w następnym poście pokazujesz zawartość tej zmiennej (czyli to jak wygląda Twoje zapytanie) a ja za to nie zamknę wątku.
No ile można?
Go to the top of the page
+Quote Post
Kethrax
post
Post #19





Grupa: Zarejestrowani
Postów: 80
Pomógł: 3
Dołączył: 9.12.2006
Skąd: Kraków

Ostrzeżenie: (10%)
X----


Sorki, nie powinno sie śmiać ale hahahahahahahahahahahahahahahahahahahahahahahhahaah, co questionmark.gif ? napisałem sorki biggrin.gif
jacus24, a jak te książki questionmark.gif

// EDIT bt JaRoPHP
Gratuluje wypowiedzi. Za nią otrzymujesz "nagrodę"


--------------------
Historia wynalazków naukowych i technicznych uczy nas, że rasa ludzka uboga jest w niezależną myśl twórczą i wyobraźnię... człowiek musi niejako dosłownie potknąć się o rzecz samą, aby mu zakwitła Idea. [b]Albert Einstein[/b]
Go to the top of the page
+Quote Post
jacus24
post
Post #20





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


I to ma być forum na którym można szukać pomocy? Żałośnie jesteście tylko tyle można wam powiedzieć!!!!
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #21





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat(jacus24 @ 16.12.2007, 23:52:19 ) *
I to ma być forum na którym można szukać pomocy? Żałośnie jesteście tylko tyle można wam powiedzieć!!!!
Ty oczekujesz pomocy, My oczekujemy, że będziesz czytał ze zrozumieniem i wyciągał wnioski. Pomagamy, ale nie dajemy na tacy (notabene Ty dostałeś).


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
Nattfarinn
post
Post #22





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Będzie łopatologicznie do bólu ale inaczej się widać nie da...

  1. <?php 
  2.  } else {
  3.  $query = "INSERT INTO user_info (username . password . email. " .
  4. "first_name . state . city . wiek . waga . wzrost . jestem. " .
  5. "aktualnie . chcialbym . lubie . nie_lubie . szukam) " .
  6. "VALUES ('" . $_POST['username'] . "'." .
  7. "(PASSWORD('" . $_POST['password'] . "')). '" .
  8. $_POST['email'] . "'. '" . $_POST['first_name'] .
  9. "' . '" . $_POST['state'] . "' . '" . $_POST['city'] . 
  10. "' . '" . $_POST['wiek'] . "' . '" . $_POST['waga'] . 
  11. "' . '" . $_POST['wzrost'] . "' . '" . $_POST['jestem'] . 
  12. "' . '" . $_POST['aktualnie'] . "' . '" . $_POST['chcialbym'] . 
  13. "' . '" . $POST['lubie'] . "' . '" . $_POST['nie_lubie'] . 
  14. "' . '" . $_POST['szukam'];
  15. $result = mysql_query($query)
  16. or die(mysql_error());
  17. ?>

Po lini 14 a przed linią 15 (czyli pomiędzy) wstaw linię:
Kod
die($query);

I wklej tutaj na forum to co Ci się wyświetli. Ta linia spowoduje zatrzymanie wykonywania skryptu i zwróci treść zapytania - jedyne co masz zrobić to uruchmić swój skrypt, zaznaczyć (myszką) na ekranie tekst zaczynający się od "INSERT INTO ..." aż do końca (wszystko!), kliknąć prawym przyciskiem myszy, następnie wybrać Kopiuj i wkleić nam to tutaj, na forum. Czyli zrobić w końcu to o co jesteś proszony od samego początku. Cysiaczek nie dawał Ci gotowego rozwiązania problemu bo go nie zna tylko tak jak my wszyscy: prosi o treść zapytania. Więc nie mów, że Ci z tą linią dalej nie działa bo, napisze jeszcze raz, nie temu ona służy. Ona ma wyświetlić treść zapytania zawartego w zmiennej $query. Nie mniej, nie więcej. A po co ma wyświetlić? Żebyśmy mogli zobaczyć gdzie jest błąd. Więc jeśli chcesz pomocy, to zrób to co się do Ciebie pisze. I czytaj ze zrozumieniem, bo mimo Twoich zapewnień wciąż tego nie robisz...


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
jacus24
post
Post #23





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Prościej było napisac wstaw w danym miejsu
Kod
echo $query;

Nie każdy jest geniuszem i musi wiedzieć od razu wszystko od czegoś się zaczyna a wyśmiewanie kogoś kto ma problem i nie wie jak go rozwiązać bo dopiero raczkuje wtym temacie nie jest dobry sposbem wi w niczym nie pomaga tak mi się przynajmniej wydaje i chyba się nie mylę.Co do kśiążek nie jest moją winą że tak akurat w tej książce której ja używam jest zrobione tak a nie inaczej tytuł"PHP5, Apache i MySQL . Od podstaw"

A tak wygląda wynik
Kod
SELECT username, password FROM user_info WHERE username = 'a' ANDpassword = 'b'Something is wrong in your syntax obok '. first_name .state . city . wiek . waga . wzrost . jestem. akt' w linii 1

Z tego co ja widze hasło miesza mi sie emailem, ale nie wiem czy dobrze kombinuje(już się nie miesza, ale wynik daje taki sam)

Ten post edytował jacus24 17.12.2007, 10:17:53
Go to the top of the page
+Quote Post
Nattfarinn
post
Post #24





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


To już coś, chociaż dalej nie wstawiłeś tego o co zostałes poproszony, w odpowiednim miejscu.

Kod
echo $query;
die($query);

Różnica między tymi dwoma poleceniami jest drastyczna, ale o ile się nie mylę, o echo też zostałeś poproszony wcześniej przez JaRoPHP.

Cytat(jacus24 @ 17.12.2007, 10:09:42 ) *
A tak wygląda wynik
Kod
SELECT username, password FROM user_info  WHERE username = 'a' ANDpassword = 'b'Something is wrong in your syntax  obok '. first_name .state . city . wiek . waga . wzrost . jestem. akt'  w linii 1

Skup się człowieku! Gdzie ja prosiłem o wstawienie
Kod
die($query);
po
Kod
$result = mysql_query($query) or die(mysql_error());

Miałeś wstawić die przed wykonaniem mysql_query...

Przede wszystkim przecinki zamiast kropek w wielu wielu miejscach w zapytaniu. Do oddzielania czegokolwiek służą przecinki, kropki mają inne znaczenie. Więc nazwy komórek bazy oddziel przecinkami a nie kropkami, tak samo w wartościach dodawanych: przecinki.

Czyli:
  1. <?php
  2. $query = "INSERT INTO user_info (username, password, email, first_name, state, city, wiek, waga, wzrost, jes
    tem, aktualnie, chcialbym, lubie, nie_lubie, szukam)
  3. VALUES ('".$_POST['username']."',
  4. PASSWORD('".$_POST['password']."'),
  5. '".$_POST['email']."',
  6. '".$_POST['first_name'].",
  7. '".$_POST['state']."',
  8. '".$_POST['city']."',
  9. '".$_POST['wiek']."',
  10. '".$_POST['waga']."',
  11. '".$_POST['wzrost']."',
  12. '".$_POST['jestem']."',
  13. '".$_POST['aktualnie']."',
  14. '".$_POST['chcialbym']."',
  15. '".$_POST['lubie']."',
  16. '".$_POST['nie_lubie']."',
  17. '".$_POST['szukam']."')";
  18. ?>

Tak powinno wyglądać zapytanie. Skąd ty przekleiłeś to swoje z takimi błędami? Bo nie wygląda na napisane tylko wykazuje wszystkie możliwe cechy błędnego powielania.

Ten post edytował Nattfarinn 17.12.2007, 11:16:45


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
jacus24
post
Post #25





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Wstawilem dokladnie w tym miejscu co napisałes efekt jest taki po twoich zmianach
Kod
SELECT username, password FROM user_info WHERE username = 'a' ANDpassword = 'b'INSERT INTO user_info (username, password, email,first_name, state, city, wiek, waga, wzrost, jestem, aktualnie,chcialbym, lubie, nie_lubie, szukam) VALUES ('a', PASSWORD('b'), 'c','d, 'f', 'e', 'g', 'h', 'i', 'Jestem...j', 'Aktualnie...k', '', '', 'Nie lubię...n', 'Szukam...o')
Go to the top of the page
+Quote Post
Nattfarinn
post
Post #26





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Wydaje się być już OK, więc usuń te die oraz echo które wstawiłeś wcześniej i puść go jeszcze raz.


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
jacus24
post
Post #27





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Nie do końca po usunięciu echo i die
Kod
SELECT username, password FROM user_info WHERE username = 'a' AND password = 'b'Something is wrong in your syntax obok 'f',                  'e',                  'g',           ' w linii 5

Czy może to być spowodowane błędem w pliku który jest odpowiedzialny za logowanie i edycje profilu?
Go to the top of the page
+Quote Post
Nattfarinn
post
Post #28





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Przede wszystkim, gdzieś w pobliżu tego kodu:
Kod
$query = "SELECT * FROM user_info" .
              "WHERE username = '" . $_SESSION['user_logged'] . "' " .
                      "AND password = (PASSWORD('" .
                      $_SESSION['user_password'] . "'))";
     $result = mysql_query($query)
        or die(mysql_error());

Masz linię
Kod
echo $query;
Wywal ją. Usunie to przynajmniej zbędne SELECT username, password FROM user_info WHERE username = 'a' AND password = 'b' z komunikatu błędu.

Wstaw za to tą linię:
Kod
echo $query."<br>";
przed mysql_query($query) w kodzie odpowiedzialnym za dodawanie do bazy (tam gdzie kazałem Ci dać die($query), tam między 14 a 15 linijkę). Wtedy odpal skrypt i wklej co Ci się wyświetla...

Edit: Dobra, znalazłem błąd:

To jest poprawne zapytanie:
  1. <?php
  2. $query = "INSERT INTO user_info (username, password, email, first_name, state, city, wiek, waga, wzrost, jes
    tem, aktualnie, chcialbym, lubie, nie_lubie, szukam)
  3. VALUES ('".$_POST['username']."',
  4. PASSWORD('".$_POST['password']."'),
  5. '".$_POST['email']."',
  6. '".$_POST['first_name']."',
  7. '".$_POST['state']."',
  8. '".$_POST['city']."',
  9. '".$_POST['wiek']."',
  10. '".$_POST['waga']."',
  11. '".$_POST['wzrost']."',
  12. '".$_POST['jestem']."',
  13. '".$_POST['aktualnie']."',
  14. '".$_POST['chcialbym']."',
  15. '".$_POST['lubie']."',
  16. '".$_POST['nie_lubie']."',
  17. '".$_POST['szukam']."')";
  18. ?>


Ten post edytował Nattfarinn 17.12.2007, 11:21:25


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
jacus24
post
Post #29





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Dałem tak
Kod
  $query = "INSERT INTO user_info (username, password, email, first_name, state, city, wiek, waga, wzrost, jestem, aktualnie, chcialbym, lubie, nie_lubie, szukam)
          VALUES ('".$_POST['username']."',
                  PASSWORD('".$_POST['password']."'),
                  '".$_POST['email']."',
                  '".$_POST['first_name'].",
                  '".$_POST['state']."',
                  '".$_POST['city']."',
                  '".$_POST['wiek']."',
                  '".$_POST['waga']."',
                  '".$_POST['wzrost']."',
                  '".$_POST['jestem']."',
                  '".$_POST['aktualnie']."',
                  '".$_POST['chcialbym']."',
                  '".$POST['lubie']."',
                  '".$_POST['nie_lubie']."',
                  '".$_POST['szukam']."')";
echo $query."
";
        $result = mysql_query($query)
          or die(mysql_error());


a zwróciło
Kod
INSERT INTO user_info (username, password, email, first_name, state,city, wiek, waga, wzrost, jestem, aktualnie, chcialbym, lubie,nie_lubie, szukam) VALUES ('a', PASSWORD('b'), 'x', 'd, 'f', 'e', 'g','h', 'i', 'Jestem...j', 'Aktualnie...k', '', '', 'Nie lubię...m', 'Szukam...n')Something is wrong in your syntax obok 'f', 'e', 'g', ' w linii 5

mam nadzieję że zrobiłem tak jak trzeba
Go to the top of the page
+Quote Post
Nattfarinn
post
Post #30





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Ok, zrobiłes jak trzeba tylko to forum jest czasem trochę głupie smile.gif Zobacz co napisałem w Edit: mojego poprzedniego posta. Tam masz poprawione zapytanie.


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
jacus24
post
Post #31





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Te poprawione przez ciebie zapytanie dałem już wcześniej i to własnie z niego zwraca mi taki wynik:(
Go to the top of the page
+Quote Post
Nattfarinn
post
Post #32





Grupa: Zarejestrowani
Postów: 136
Pomógł: 22
Dołączył: 19.09.2007
Skąd: Sosnowiec

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


Cytat(Nattfarinn @ 17.12.2007, 11:15:48 ) *
Edit: Dobra, znalazłem błąd:

To jest poprawne zapytanie:
  1. <?php
  2. $query = "INSERT INTO user_info (username, password, email, first_name, state, city, wiek, waga, wzrost, jes
    tem, aktualnie, chcialbym, lubie, nie_lubie, szukam)
  3. VALUES ('".$_POST['username']."',
  4. PASSWORD('".$_POST['password']."'),
  5. '".$_POST['email']."',
  6. '".$_POST['first_name']."',
  7. '".$_POST['state']."',
  8. '".$_POST['city']."',
  9. '".$_POST['wiek']."',
  10. '".$_POST['waga']."',
  11. '".$_POST['wzrost']."',
  12. '".$_POST['jestem']."',
  13. '".$_POST['aktualnie']."',
  14. '".$_POST['chcialbym']."',
  15. '".$_POST['lubie']."',
  16. '".$_POST['nie_lubie']."',
  17. '".$_POST['szukam']."')";
  18. ?>

Widzę wyraźnie że nie wkleiłeś tego kodu, tylko masz stary. Przeklej to i zobacz jeszcze raz.

PS. Poza tym, pomoc pomocą, ale wykaż trochę pomyślunku i przyjrzyj się co może być źle a nie oczekuj gotowców. Jak przyjrzysz się zwróconemu zapytaniu które wkleiłes nie tak dawno, to problem widac jak na dłoni i nie trzeba znać PHP czy też SQL żeby zauważyć ze coś jest nie tak...

Kod
INSERT INTO user_info (username, password, email, first_name, state,city, wiek, waga, wzrost, jestem, aktualnie, chcialbym, lubie,nie_lubie, szukam) VALUES ('a', PASSWORD('b'), 'x', 'd, 'f', 'e', 'g','h', 'i', 'Jestem...j', 'Aktualnie...k', '', '', 'Nie lubię...m', 'Szukam...n')

Something is wrong in your syntax obok 'f', 'e', 'g', ' w linii 5

Więc co takiego jest w niedalekim sąsiedztwie 'f', że może być błąd?

Ten post edytował Nattfarinn 17.12.2007, 11:54:05


--------------------
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
-- R. Pattis
Go to the top of the page
+Quote Post
b_chmura
post
Post #33





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


  1. <?php
  2. $query = "INSERT INTO `user_info` VALUES 
  3.  (
  4. '".$_POST['username']."',
  5. '".md5($_POST['password'])."'),
  6. '".$_POST['email']."',
  7. '".$_POST['first_name']."',
  8. '".$_POST['state']."',
  9. '".$_POST['city']."',
  10. '".$_POST['wiek']."',
  11. '".$_POST['waga']."',
  12. '".$_POST['wzrost']."',
  13. '".$_POST['jestem']."',
  14. '".$_POST['aktualnie']."',
  15. '".$_POST['chcialbym']."',
  16. '".$_POST['lubie']/*tu wcześniej był błąd (brakowało _ )*/."', 
  17. '".$_POST['nie_lubie']."',
  18. '".$_POST['szukam']."'
  19.  );";
  20.  
  21. if(mysql_query($query) == 1)
  22. {
  23. echo 'ok';
  24. }
  25. else
  26. {
  27. }
  28. ?>


Ten post edytował b_chmura 17.12.2007, 12:16:54
Go to the top of the page
+Quote Post
jacus24
post
Post #34





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


A więc niby się rejestruje
Kod
Something is wrong in your syntax obok '(          'jacus24', PASSWORD('haslo'),          'jac1711' w linii 2  Dziękujemy, jacus24 wrocław , za zarejestrowanie się!
Zakonczono proces rejestracji!


Tylko gdy chcę się zalogować jako użytkownik pisze
Kod
Niepoprawna nazwa uzytkownika lub haslo!
Zarejestrowales sie? kliknij tutaj, aby się zarejestrować

Nie ma takiego użytkownika w bazie danych
Go to the top of the page
+Quote Post
b_chmura
post
Post #35





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


MySQL'owską funkcję password() zmieniłem na php'owską md5()

Przy logowaniu hasło pobrane z formularza także poczęstuj md5() i porównaj z hasłem wyciągniętym z bazy (pamiętaj ze hasło w bazie jest już shaszowane)
Go to the top of the page
+Quote Post
jacus24
post
Post #36





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


poprawiłem ten kod i dałem tak
Kod
$query = "INSERT INTO `user_info` (username, password, email, first_name, state, city, wiek, waga, wzrost, jestem, aktualnie, chcialbym, lubie, nie_lubie, szukam)
         VALUES (
          '".$_POST['username']."',
          '".$_POST['password']."',
          '".$_POST['email']."',
          '".$_POST['first_name']."',
          '".$_POST['state']."',
          '".$_POST['city']."',
          '".$_POST['wiek']."',
          '".$_POST['waga']."',
          '".$_POST['wzrost']."',
          '".$_POST['jestem']."',
          '".$_POST['aktualnie']."',
          '".$_POST['chcialbym']."',
          '".$_POST['lubie']/*tu wcześniej był błąd (brakowało _ )*/."',
          '".$_POST['nie_lubie']."',
          '".$_POST['szukam']."'
         );";
            
if(mysql_query($query) == 1)
{
  echo 'ok';
}
else
{
  echo mysql_error();
}

I dodaje uzytkownika do bazy danych , ale logowanie nie działa pewnie jakiś błąd mam w zapytaniu
Kod
$query = 'SELECT username,password FROM user_info WHERE username="'.$_POST['username'].'"
                                                                  AND password="'.$_POST['password'];

    $result = mysql_query($query)
      or die(mysql_error());
Go to the top of the page
+Quote Post
b_chmura
post
Post #37





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


1. dodaj z powrotem funkcję hashującą (chyba nie chcesz jawnie przetrzymywać hasła zarejestrowanych osóB)
2. nom, zapytanie trochę źle, szczególnie końcówka

  1. <?php
  2. $query = "SELECT * FROM user_info WHERE username = '".$_POST['username']."' AND password = '".md5($_POST['password'])."';";
  3. if(mysql_query($query) >= 1)
  4. {
  5. echo 'zaloguj';
  6. }
  7. else
  8. {
  9. echo 'Podane hasło or login jest nieprawidłowy';
  10. }
  11. ?>
Go to the top of the page
+Quote Post
jacus24
post
Post #38





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Ok dziękuje za pomoc bardzo się przydała i pozwoliła nauczyć się kilku przydatnych rzeczy:)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 21.08.2025 - 01:10