Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    costruire query con parametri passati via GET

    salve a tutti!

    domanda banale,ma:

    quando devo fare una query con parametri passati via get, devo per forza predispore tutte le query possibili e poi con un controllo if vedere quale effettivamente fare eseguire?

    io devo fare una query e creare delle condizioni WHERE in base ai criteri passati.

    avendo 4 criteri, devo creare 12 query gia belle e pronte, con tutte le diverse combinazioni.


    mi chideevo se posso lavorare in qualche altro modo.

    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    Ma no.
    Devi creare una query dinamicamente.

    una cosa tipo

    Codice PHP:

    $query 
    "SELECT * FROM mytable"

    $where '';

    if (isset (
    $_REQUEST['criterio1']) {
       
    $where $_REQUEST['criterio1'];
    }
    if (isset (
    $_REQUEST['criterio2']) {
       if (!empty(
    $where)) { $where .= ' AND  '; }
       
    $where .= $_REQUEST['criterio2'];
    }
    if (isset (
    $_REQUEST['criterio3']) {
       if (!empty(
    $where)) { $where .= ' AND  '; }
       
    $where .= $_REQUEST['criterio3'];
    }
    if (isset (
    $_REQUEST['criterio4']) {
       if (!empty(
    $where)) { $where .= ' AND  '; }
       
    $where .= $_REQUEST['criterio4'];
    }
    if (!empty(
    $where) {
        
    $query .=  ' WHERE '.$where;

    e poi esegui la query.

    In questo codice per fare prima non ho inserito alcun controllo sui criteri.
    Devi assolutamente farli per evitare sql injection



  3. #3
    si si, esatto!

    proprio una cosa del genere.

    provo subito come va.

    grazie!

    [per i controlli no problem]

  4. #4
    grazie mille!

    ritorno solo per ringraziarti per la tip perché non hai idea di come mi hai semplificato le cose!!!

    oohhh yeeaahh!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.