sql >> Database >  >> RDS >> Mysql

dynamisch een mysql-zoekreeks maken?

Dit is een snel voorbeeld. Ik weet niet wat voor soort gegevens JRequest::getVar retourneert (altijd een string, of gemengde typen?) Maar dit zou je moeten beginnen. Zorg ervoor dat u de escape-methode gebruikt die van toepassing is binnen de foreach-lus:

if ($post) {
    $criteria = array();
    //get all search variables
    $criteria['type'] = JRequest::getVar('type');
    $criteria['classifications'] = JRequest::getVar('classifications', array(0), 'post', 'array');
    $criteria['rating'] = JRequest::getVar('rating');

    //if there are some criteria, make an array of fieldName=>Value maps
    if(!empty($criteria)) {
        $where = array();
        foreach($criteria as $k => $v) {
            //IMPORTANT!!
            //$v is the value of the field, needs to be quoted correctly!!
            $where[] = "$k = '$v'";
        }
    }
    //create search string
    $query =  "SELECT * FROM #__db_clients";

    if($where) {
        $query .= " where " . join(' AND ', $where);
    }   
} else {    
    echo 'There has been an error, please try again.';
};



  1. Entiteit in EF4 verwijderen zonder de hele entiteit te laden

  2. MySQL TAN() Functie – Retourneer de tangens van een waarde in MySQL

  3. Converteer Select Oracle Query naar update voor specifiek scenario

  4. welk type engine (InnoDB of MyISAM) moet ik gebruiken voor mijn database voor een website?