Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapytaniem sql do bazy i wyświetleniem wynikoów
dzesi
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


Witam mam problem z dość duża aplikacja która pisze wraz z kolega w firmie , może ja już nie widzę błędu bo za długo w tej aplikacji grzebie , ale jak na moje jest dobrze, chyba bo ja nieomylny to ja nie jestem Tylko cały czas nie wykonuje zapytania nawet errorów nic nie pokazuje
  1. <?php
  2. public function pobieranie_zapytania($polaczenie)
  3.  {
  4.  global $polaczenie;
  5.  
  6. $zapytanie_sql=$polaczenie->query("select * from `user` where ".$this->wyszukaj." like '%".$this->kategorie."%'");
  7.  // echo $polaczenie->error();
  8.  
  9.  
  10.  $ile_zapytan=$zapytanie_sql->num_rows;
  11.  echo " ilość znalezionych wyników :".$ile_zapytan;
  12.  }
  13.  public function wyswietlenie_wyniku()
  14.  {
  15.  
  16.  while($wynik=$zapytanie_sql->fetch_row())
  17.  {
  18.  echo " Wyniki wyszukiwania".$wynik['user'].'<br/>';
  19.  }
  20.  }
  21. ?>
[php][/php]
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$zapytanie_sql - w roznych funkcjach sie do tego odwolujesz, ale przeciez ani to global, ani to wlasciwosc klasy. Krotko rzecz mowiac: ustawiasz to w jednej funkcji, ale druga juz tego nie widzi.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dzesi
post
Post #3





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


Poprawiłem naspor ale nadal pokazuje mi błąd zapytania i jak dam $polaczenie->error() to i tak zdanych błędów nie pokazuje

Naspor a czy jest może inny sposób na to żeby w mysqli ani w pdo w funkcjach nie używać global ?

Ten post edytował dzesi 3.04.2008, 14:15:01
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale nadal pokazuje mi błąd zapytania
to zamiast: die("błąd zapytania "); daj die(mysql_error()); smile.gif

Cytat
Naspor a czy jest może inny sposób na to żeby w mysqli ani w pdo w funkcjach nie używać global ?
Oczywiscie, w tym przypadku muisz z
global $zapytanie_sql; zrobic wlasciowosc klasy. Globale są BLE.

pozatym nospor a nie naspor


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dzesi
post
Post #5





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


Teraz to w ogóle pusta kartka , ani błędów i zdanego wyniku szukania nie pokazuje
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@JoeTheWinner nie wcinaj sie ludziom w tematy.
@dzesi to moze zamiast mysql_error() daj $polaczenie->jakiserror. Nie wiem co to jest te twoje $polaczenie.
Skoro $polaczenie->query() nic ci nie zwraca to pewnie jest jakis blad, wiec go wydobądź. Troche wlasnej inicjatywy byloby naprawde mile widziane smile.gif

edit down: to, ze w obu kodach jest "while" to nie znaczy ze problem jest ten sam


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




skoro $połączenie to wlasciwosc klasy to masz sie do niej dobierac nie przez global a przez $this->polaczenie

i skoro jest to obiekt mysqli to nie mysql_error() a .... zobacz w manualu. Prosilem bys sie wykazal wlasna inicjatywa smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dzesi
post
Post #8





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


Witam ponownie teraz mam dość dziwny problem otóż jak w phpmyadmin daje zapytanie ,mam bazę i w niej tabele i przy zapytaniu odwołuje sie do jednej z tabeli ale dostaje błąd Unknown column 'xxx' in 'where clause'
tak samo jest przy zapytaniu z php
  1. <?php
  2. $this->zapytanie_sql=$this->polaczenie->query("select * from `user` where ".$this->wyszukaj."")
  3. or die($this->polaczenie->error);
  4.  
  5.  
  6.  $this->ile_zapytan=$this->zapytanie_sql->num_rows;
  7.  echo " ile wyników :".$this->ile_zapytan;
  8.  }
  9.  public function wyswietlenie_wyniku()
  10.  {
  11.  
  12.  while($wynik=$this->zapytanie_sql->fetch_row($this->zapytanie_sql))
  13.  {
  14.  echo " Wyniki wyszukiwania".$wynik[0].'<br/>';
  15.  }
  16.  }
  17. ?>

Może ktoś mi pokaże co robie zle ?, bo ten błąd mówi chyba ze nie ma takiej tabeli ani takiego wyniku , jak w bazie znajduje sie ta tabele a w niej te dane .I czy wyświetlenie wyników jest dobre ?.Bardzo dziękuje za pomoc
Go to the top of the page
+Quote Post
wlamywacz
post
Post #9





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

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


  1. <?php
  2. $this->zapytanie_sql=$this->polaczenie->query("select * from `user` where ".$this->wyszukaj."")
  3. ?>


A do jakiej tabeli to ma szukać ? Co to $this->wyszukaj? My wróżki ?
Go to the top of the page
+Quote Post
dzesi
post
Post #10





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


$this->wyszukaj jest to zmienna która odbiera dane z formularza tzn $this->wyszukaj=$_post....... i ta tabela istnieje w bazie sam nie wiem co jest zle może ktoś ma podobny problem ?
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no a nie powinno byc tak:
  1. <?php
  2. $this->zapytanie_sql=$this->polaczenie->query("select * from `user` where polepoktorymszukasz='".$this->wyszukaj."'");
  3. ?>

?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dzesi
post
Post #12





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 3.05.2006

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


A czy jest jakaś metoda w mysql żeby nie wybierać danych z jakiegoś pola w tabeli tylko zeby przeszukał wszystkie pola ?
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie ma.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wlamywacz
post
Post #14





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

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


Cytat
$this->wyszukaj jest to zmienna która odbiera dane z formularza tzn $this->wyszukaj=$_post....... i ta tabela istnieje w bazie sam nie wiem co jest zle może ktoś ma podobny problem ?


Filtruj te zmienne gdyż w innym wypadku grozi Ci SQL injection
Go to the top of the page
+Quote Post

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: 22.08.2025 - 07:17