Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Funkcja ucina query
Forum PHP.pl > Forum > PHP
HgReed
Witam.
Mam swoją funkcję. Ma ona "rozbroić" otrzymane dane, i zwrócić mysqli_num_rows. Niestety - jedyne co zwraca, to błąd "Notice: Trying to get property of non-object in...".
Kod funckji:
(wprowadzone dane :
$what = login, password
$with = admin, haslo_admina_md5)
  1. function numRowsDB($what, $with)
  2. {
  3. $query = '"SELECT ';
  4. if(is_array($with))
  5. {
  6. foreach($what as $what___x1)
  7. {
  8. $query .= '`'.$what___x1.'`, ';
  9. }
  10. $query = substr($query, 0, -2);
  11. }
  12. else
  13. {
  14. $query .= '`'.$what.'`';
  15. }
  16. $query .= ' FROM `'.$dataBase.'` WHERE ';
  17. if(is_array($what) && is_array($with))
  18. {
  19. $queryList = array_combine($what, $with);
  20. foreach($queryList as $what___x1 => $with___x1)
  21. {
  22. $query .= '`'.$what___x1.'` = \''.$with___x1.'\' AND ';
  23. }
  24. $query = substr($query, 0, -5);
  25. }
  26. else
  27. {
  28. $query .= '`'.$what.'` = \''.$with.'\'';
  29. }
  30. $query .= '"'; //echo $query daje pełne zapytanie do bazy : "SELECT `login`, `password` FROM `users` WHERE `login` = 'admin' AND `password` = 'haslo_admina_md5'"
  31. $query = $connection->query($query); //po zrobieniu or die($connection->error); daje : "SELECT `login`, `password` FROM `users` WHERE `login` = 'admin' AND `password`
  32. return $query->num_rows; //ta linia zwraca błąd
  33. }

I nie mam ŻADNEGO pomysłu dlaczego to ucina mi query. Szukałem w googlach - nikomu to się nie zdażało (szukam już ponad godzinę i nic).
Czy ktoś ma pomysł dlaczego tak się dzieje?
Uriziel01
Witam.
Usuń cudzysłów z linii (przed SELECT):
  1. $query = '"SELECT ';

oraz całą linię:
  1. $query .= '"';


Voila, wszystko działa smile.gif A tak na przyszłość, nie ma potrzeby dodatkowego quotowania tych zapytań, jest to pewien pseudo język i jego składnia nie uwzględnia takich zabiegów.
HgReed
Powiem Ci... To była ostatnia rzecz, której się spodziewałem tongue.gif
Dzięki. Wielkie.
Pozdro!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.