Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Dynamiczne generowanie zapytania SQL (uciąć)
seba22
post
Post #1





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

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


Witam,

Przygotowuje kod w który będzie wykonywać dynamiczne zapytanie do serwera SQL układając je na podstawie dostarczonych przez użytkownika danych.

W skrócie mam taki kawałek kodu PHP.

Założenie : Zmienna TAGI ma usunięte znaczniki MYSQL więc teoretycznie jest bezpieczna.
Jej składnia wygląda tak:

"Ala Zielony Kot"

  1. <?php
  2. $zapytanieszukaj='';
  3. $rozkladt  = $tagi;
  4. $kawalekt = explode(" ", $rozkladt);
  5. $wynik=count($kawalekt);
  6.  
  7. for ($i = 0; $i <= $wynik-1; $i++) {
  8. $zapytanieszukaj=$zapytanieszukaj."WHERE 'tagi' LIKE %".$kawalekt[$i].'% AND ';
  9. }
  10. echo($zapytanieszukaj);
  11. ?>

I dostaje w odpowiedzi:

  1. WHERE 'tagi' LIKE %jeden% AND WHERE 'tagi' LIKE %dwa% AND WHERE 'tagi' LIKE %trzy% AND


Czy można jakoś skasować to ostatnie and ?

Jakaś komenda typu cute -3 znaki ?

Ew co o tym sądzicie ?
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <?php
  2. $zapytanieszukaj = "";
  3.  
  4. //......
  5.  
  6. for($i = 0; $i <= $wynik-1; $i++) {
  7.    $zapytanieszukaj .= "AND tagi LIKE '%".$kawalekt[$i]."%'";
  8. }
  9.  
  10. if(strlen($zapytanieszukaj) > 0) {
  11.    $zapytanieszukaj = "WHERE ".substr($zapytanieszukaj, 4);
  12. }
  13. ?>
Go to the top of the page
+Quote Post
seba22
post
Post #3





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

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


Dziękuję o to mi chodziło kolego.

Jesteś wielki.
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: 24.08.2025 - 05:28