Mysql
 sql >> Baza danych >  >> RDS >> Mysql

dynamiczne tworzenie ciągu wyszukiwania mysql?

To jest szybki przykład. Nie wiem, jaki rodzaj danych zwraca JRequest::getVar (zawsze ciąg znaków, czy typy mieszane?), ale to powinno Cię zacząć. Upewnij się, że używasz dowolnej metody ucieczki stosowanej w pętli foreach:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. problem z uzyskaniem num_rows z klasą PDO w php

  2. Nieprawidłowa wartość całkowita:„” dla błędu kolumny

  3. Rekurencyjne usuwanie CakePHP

  4. Java ciągle mówi, że nie może znaleźć sterownika mysql jdbc

  5. Jak zaktualizować strefę czasową dla znaczników czasu (created_at i updated_at) zarządzanych przez Laravel Eloquent?