Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][PHP] Problem z zapytaniem do bazy
Miszazdw
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 3.08.2009

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


  1. $query = 'INSERT INTO USERS (USERNAME, PASSWORD, ' .
  2. 'EMAIL_ADDR, IMIE, NAZWISKO, PESEL, TEL_DOM, TEL_KOM, ' .
  3. 'REGON, NIP, ULICA, NR_DOMU, KOD_POCZTOWY, MIASTO, NAZWA_FIRMY' .
  4. 'IS_ACTIVE) '.
  5. 'VALUES (mysql_real_escape_string($this->username, $GLOBALS[\'DB\']), '.
  6. 'mysql_real_escape_string($this->password, $GLOBALS[\'DB\']), '.
  7. 'mysql_real_escape_string($this->emailAddr, $GLOBALS[\'DB\']),'.
  8. 'mysql_real_escape_string($this->imie, $GLOBALS[\'DB\']), '.
  9. 'mysql_real_escape_string($this->nazwisko, $GLOBALS[\'DB\']),'.
  10. 'mysql_real_escape_string($this->pesel, $GLOBALS[\'DB\']),'.
  11. 'mysql_real_escape_string($this->tel_dom, $GLOBALS[\'DB\']),'.
  12. 'mysql_real_escape_string($this->tel_kom, $GLOBALS[\'DB\']),'.
  13. 'mysql_real_escape_string($this->regon, $GLOBALS[\'DB\']),'.
  14. 'mysql_real_escape_string($this->nip, $GLOBALS[\'DB\']),'.
  15. 'mysql_real_escape_string($this->ulica, $GLOBALS[\'DB\']),'.
  16. 'mysql_real_escape_string($this->nr_domu, $GLOBALS[\'DB\']),'.
  17. 'mysql_real_escape_string($this->kod_pocztowy, $GLOBALS[\'DB\']),'.
  18. 'mysql_real_escape_string($this->miasto, $GLOBALS[\'DB\']),'.
  19. 'mysql_real_escape_string($this->nazwa_firmy, $GLOBALS[\'DB\']),'.
  20. '$this->isActive)';


tak wyglada zapytanie
Kod
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 '>username, $GLOBALS['DB']), mysql_real_escape_string($this->password, $GLOBALS['' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '>username, $GLOBALS['DB']), mysql_real_escape_string($this->password, $GLOBALS['' at line 1


a taki mam blad.

Oczekuję pomocy.

Pozdrawiam.

Ten post edytował Miszazdw 10.08.2009, 20:06:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Łączenie zmiennych ze stringiem?

  1.  
  2. $zmienna = 'tekst';
  3.  
  4. echo 'Tu jest jakiś string w tym wypadku zapytanie, i robisz tak: "'.$zmienna. '" i tutaj dalej';
  5.  


Rozumiesz?
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #3





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


PHP nie interpretuje tekstu w apostrofach, tylko przekazuje go "jak leci".
Go to the top of the page
+Quote Post
Miszazdw
post
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 3.08.2009

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


Cytat(fifi209 @ 10.08.2009, 21:07:44 ) *
Łączenie zmiennych ze stringiem?

  1.  
  2. $zmienna = 'tekst';
  3.  
  4. echo 'Tu jest jakiś string w tym wypadku zapytanie, i robisz tak: "'.$zmienna. '" i tutaj dalej';
  5.  


Rozumiesz?


  1. 'VALUES (mysql_real_escape_string('".$this->username."', $GLOBALS[\'DB\']), '.


Chyba jednak nie rozumiem...
Go to the top of the page
+Quote Post
Fifi209
post
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


nie ' " tylko " '
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




string
Go to the top of the page
+Quote Post
Miszazdw
post
Post #7





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 3.08.2009

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


Przerobiłem zapytanie z użyciem sprintf()

  1. $query = sprintf('INSERT INTO USERS (USERNAME, PASSWORD, ' .
  2. 'EMAIL_ADDR, IMIE, NAZWISKO, PESEL, TEL_DOM, TEL_KOM, ' .
  3. 'REGON, NIP, ULICA, NR_DOMU, KOD_POCZTOWY, MIASTO, NAZWA_FIRMY' .
  4. 'IS_ACTIVE) VALUES ("%s", "%s", "%s", "%s", "%s", %d, %d, %d, %d, "%s", "%s", "%s", "$s", "$s", "$s", %d)',
  5. mysql_real_escape_string($this->username, $GLOBALS['DB']),
  6. mysql_real_escape_string($this->password, $GLOBALS['DB']),
  7. mysql_real_escape_string($this->emailAddr, $GLOBALS['DB']),
  8. mysql_real_escape_string($this->imie, $GLOBALS['DB']),
  9. mysql_real_escape_string($this->nazwisko, $GLOBALS['DB']),
  10. mysql_real_escape_string($this->pesel, $GLOBALS['DB']),
  11. mysql_real_escape_string($this->tel_dom, $GLOBALS['DB']),
  12. mysql_real_escape_string($this->tel_kom, $GLOBALS['DB']),
  13. mysql_real_escape_string($this->regon, $GLOBALS['DB']),
  14. mysql_real_escape_string($this->nip, $GLOBALS['DB']),
  15. mysql_real_escape_string($this->ulica, $GLOBALS['DB']),
  16. mysql_real_escape_string($this->nr_domu, $GLOBALS['DB']),
  17. mysql_real_escape_string($this->kod_pocztowy, $GLOBALS['DB']),
  18. mysql_real_escape_string($this->miasto, $GLOBALS['DB']),
  19. mysql_real_escape_string($this->nazwa_firmy, $GLOBALS['DB']),
  20. $this->isActive);


i sql wywala ze nie zgadza się ilość kolumn z wprowadzanymi danymi.

Kod
Column count doesn't match value count at row 1
Go to the top of the page
+Quote Post
TrevorGryffits
post
Post #8





Grupa: Zarejestrowani
Postów: 139
Pomógł: 24
Dołączył: 29.07.2007
Skąd: Tarnowskie Góry

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


Nie powinno być %s zamiast $s w kilku ostatnich parametrach? Dane, które wsadzasz jako inty wystarczy jak zrzutujesz na (int).
Go to the top of the page
+Quote Post
Miszazdw
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 3.08.2009

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


Zrobiłem tak - poprawiełem:
  1. $query = sprintf('INSERT INTO USERS (USERNAME, PASSWORD, ' .
  2. 'EMAIL_ADDR, IMIE, NAZWISKO, PESEL, TEL_DOM, TEL_KOM, ' .
  3. 'REGON, NIP, ULICA, NR_DOMU, KOD_POCZTOWY, MIASTO, NAZWA_FIRMY' .
  4. 'IS_ACTIVE) VALUES (%s, %s, %s, %s, %s, %d, %d, %d, %d, %s, %s, %s, %s, %s, %s, %d)',
  5. mysql_real_escape_string($this->username, $GLOBALS['DB']),
  6. mysql_real_escape_string($this->password, $GLOBALS['DB']),
  7. mysql_real_escape_string($this->emailAddr, $GLOBALS['DB']),
  8. mysql_real_escape_string($this->imie, $GLOBALS['DB']),
  9. mysql_real_escape_string($this->nazwisko, $GLOBALS['DB']),
  10. mysql_real_escape_string($this->pesel, $GLOBALS['DB']),
  11. mysql_real_escape_string($this->tel_dom, $GLOBALS['DB']),
  12. mysql_real_escape_string($this->tel_kom, $GLOBALS['DB']),
  13. mysql_real_escape_string($this->regon, $GLOBALS['DB']),
  14. mysql_real_escape_string($this->nip, $GLOBALS['DB']),
  15. mysql_real_escape_string($this->ulica, $GLOBALS['DB']),
  16. mysql_real_escape_string($this->nr_domu, $GLOBALS['DB']),
  17. mysql_real_escape_string($this->kod_pocztowy, $GLOBALS['DB']),
  18. mysql_real_escape_string($this->miasto, $GLOBALS['DB']),
  19. mysql_real_escape_string($this->nazwa_firmy, $GLOBALS['DB']),
  20. $this->isActive);


i teraz error:
Kod
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 '@test.pl, test@test.pl, test, 2147483647, 111222333, 111222333, 0, , ulica, 30, ' at line 1
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A cudzysłowów nie łaska...? :/
Go to the top of the page
+Quote Post
Miszazdw
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 3.08.2009

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


Cytat(erix @ 10.08.2009, 23:14:51 ) *
A cudzysłowów nie łaska...? :/

Czemu sądzisz że takie rozwiązanie jest złe, uzasadnij jak możesz.
Go to the top of the page
+Quote Post
Fifi209
post
Post #12





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Miszazdw @ 10.08.2009, 22:18:52 ) *
Czemu sądzisz że takie rozwiązanie jest złe, uzasadnij jak możesz.


Ponieważ jeżeli podajesz stringa do bazy to musi być w cudzysłowach! Człowieku postawy! Kpisz sobie ze mnie i z Erix'a ?
Go to the top of the page
+Quote Post
Miszazdw
post
Post #13





Grupa: Zarejestrowani
Postów: 16
Pomógł: 1
Dołączył: 3.08.2009

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


  1. $query = 'INSERT INTO USERS (USERNAME, PASSWORD, ' .
  2. 'EMAIL_ADDR, IMIE, NAZWISKO, PESEL, TEL_DOM, TEL_KOM, ' .
  3. 'ULICA, NR_DOMU, KOD_POCZTOWY, MIASTO,' .
  4. 'IS_ACTIVE) '.
  5. 'VALUES'.
  6. '('.
  7. 'mysql_real_escape_string("'.$this->username.'", $GLOBALS[\'DB\']), '.
  8. 'mysql_real_escape_string("'.$this->password.'", $GLOBALS[\'DB\']), '.
  9. 'mysql_real_escape_string("'.$this->emailAddr.'", $GLOBALS[\'DB\']),'.
  10. 'mysql_real_escape_string("'.$this->imie.'", $GLOBALS[\'DB\']), '.
  11. 'mysql_real_escape_string("'.$this->nazwisko.'", $GLOBALS[\'DB\']),'.
  12. 'mysql_real_escape_string("'.$this->pesel.'", $GLOBALS[\'DB\']),'.
  13. 'mysql_real_escape_string("'.$this->tel_dom.'", $GLOBALS[\'DB\']),'.
  14. 'mysql_real_escape_string("'.$this->tel_kom.'", $GLOBALS[\'DB\']),'.
  15. 'mysql_real_escape_string("'.$this->ulica.'", $GLOBALS[\'DB\']),'.
  16. 'mysql_real_escape_string("'.$this->nr_domu.'", $GLOBALS[\'DB\']),'.
  17. 'mysql_real_escape_string("'.$this->kod_pocztowy.'", $GLOBALS[\'DB\']),'.
  18. 'mysql_real_escape_string("'.$this->miasto.'", $GLOBALS[\'DB\']),'.
  19. '"'.$this->isActive.'"'.
  20. ')';


Nadal lipa...
Go to the top of the page
+Quote Post
Fifi209
post
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie czytasz uważnie...

Przykład:

  1.  
  2. $string = 'tekst';
  3.  
  4. $zmienna = 'INSERT INTO `tabela` VALUES("'.$string.'")';
  5.  


Nie wiem czego nie rozumiesz, moim zdaniem temat już dawno jest zakończony.
Go to the top of the page
+Quote Post
jmail
post
Post #15





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


masz - a tak na przyszłość dobrze poczytać o bazie danych zanim się za nią weźmiesz.

  1.  
  2. $query = 'INSERT INTO
  3. USERS (
  4. USERNAME
  5. , PASSWORD
  6. , EMAIL_ADDR
  7. , IMIE
  8. , NAZWISKO
  9. , PESEL
  10. , TEL_DOM
  11. , TEL_KOM
  12. , ULICA
  13. , NR_DOMU
  14. , KOD_POCZTOWY
  15. , MIASTO
  16. , IS_ACTIVE
  17. )
  18. VALUES
  19. (
  20. \''.mysql_real_escape_string($this->username, $GLOBALS['DB']).'\'
  21. ,\''.mysql_real_escape_string($this->password, $GLOBALS['DB']).'\'
  22. ,\''.mysql_real_escape_string($this->emailAddr, $GLOBALS['DB']).'\'
  23. ,\''.mysql_real_escape_string($this->imie, $GLOBALS['DB']).'\'
  24. ,\''.mysql_real_escape_string($this->nazwisko, $GLOBALS['DB']).'\'
  25. ,\''.mysql_real_escape_string($this->pesel, $GLOBALS['DB']).'\'
  26. ,\''.mysql_real_escape_string($this->tel_dom, $GLOBALS['DB']).'\'
  27. ,\''.mysql_real_escape_string($this->tel_kom, $GLOBALS['DB']).'\'
  28. ,\''.mysql_real_escape_string($this->ulica, $GLOBALS['DB']).'\'
  29. ,\''.mysql_real_escape_string($this->nr_domu, $GLOBALS['DB']).'\'
  30. ,\''.mysql_real_escape_string($this->kod_pocztowy, $GLOBALS['DB']).'\'
  31. ,\''.mysql_real_escape_string($this->miasto, $GLOBALS['DB']).'\'
  32. ,\''..$this->isActive.'\'
  33. )';
  34.  
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 00:00