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

    query con valori provenienti da un post

    salve ragazzi ho un form ke kiama una pagina che fa una query. la query adotta come parametri WHERE i valori post passatigli dal form...siccome la query non mi funziona volevo sapere se ho fatto un'errore di concatenazione

    $query_search = "SELECT * FROM annunci WHERE status = '" . $_POST['opzioni'] . "' AND codice_prezzo = '" . $_POST['hide2'] . "' AND regione = '" . $_POST['regione'] . "' AND provincia = '" . $_POST['provincia'] . "' AND comune = '" . $_POST['comune'] . "' AND ampiezza = '" . $_POST['ampiezza'];

    A me sembra giusto....Fatemi sapere ciao

  2. #2
    Non stai di meno ad esequire mysql_error() o funzione equivalente per verificare se la query è corretta?

    Inoltre effettui l'escaping su quei valori prima di utilizzarli nella query?

  3. #3
    asp non ti sto seguendo...la query l'ha impostata DW io ho solo campiato al sintassi aggiungendo i WHERE coi i post...

    l'errore cmq è questo

    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 ''' at line 1

  4. #4
    Utente bannato
    Registrato dal
    Apr 2008
    Messaggi
    146
    $query_search = "SELECT * FROM annunci WHERE status = ' $_POST['opzioni']' AND codice_prezzo = '$_POST['hide2']' AND regione = '$_POST['regione']' AND provincia = '$_POST['provincia']' AND comune = '$_POST['comune']' AND ampiezza = '$_POST['ampiezza']'";


    oppure

    $query_search = "SELECT * FROM annunci WHERE status = '" . $_POST['opzioni'] . "' AND codice_prezzo = '" . $_POST['hide2'] . "' AND regione = '" . $_POST['regione'] . "' AND provincia = '" . $_POST['provincia'] . "' AND comune = '" . $_POST['comune'] . "' AND ampiezza = '" . $_POST['ampiezza']."'";

    comunque ti consiglio la prima

  5. #5
    killer-gio ti suggerisco di provare il codice prima di postarlo. La prima soluzione contiene un Parse Error.

  6. #6
    quello che fai è molto pericoloso. fatti una ricerca su cos'è una sql injection!

    dopodichè procedi in questo modo, o qualcosa di simile

    if(ereg("regexp appropriata","$_POST[opzioni]"))
    {
    $opzioni=$_POST['opzioni'];
    }
    else //c'è qualcosa che non va


    poi la inserisci semplicemente così
    $query="SELECT * FROM annunci WHERE status='$opzioni' eccetera";

    studiati le regexp, ereg/eregi/preg_match (che dovrebbe essere più veloce), sql injection

    se sei uno a cui piace vedersi il lavoro rovinato dal primo cracker puoi saltare l'if e inserire subito
    $opzioni=$_POST['opzioni'] e riempire la query nello stesso modo.

    ps: anche se ho scritto in toni scherzosi, quello che fai è pericoloso davvero
    http://www.trustweb.it - Web Development - Design 2D/3D - SEO & SEM

    Twitter http://twitter.com/#!/TrustWeb
    LinkedIn http://it.linkedin.com/in/trustweb

  7. #7
    Utente bannato
    Registrato dal
    Apr 2008
    Messaggi
    146
    Originariamente inviato da filippo.toso
    killer-gio ti suggerisco di provare il codice prima di postarlo. La prima soluzione contiene un Parse Error.

    forse così dovrebbe andare, comunque se questa no va la seconda che ho inserito dovrebbe andare sicuramente, spero, purtroppo non saprei come provare il codice in quanto non dispongo di una tabella con quei campi...


    $query_search = "SELECT * FROM annunci WHERE status = '$_POST[opzioni]' AND codice_prezzo = '$_POST[hide2]' AND regione = '$_POST[regione]' AND provincia = '$_POST[provincia]' AND comune = '$_POST[comune]' AND ampiezza = '$_POST[ampiezza]'";

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 © 2025 vBulletin Solutions, Inc. All rights reserved.