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

Zapytanie PHP PDO MySQL LIKE -> wiele słów kluczowych

Nie należy używać @ do wyciszania błędów to zła praktyka, sprawdź czy wartość jest ustawiona. Poniższy przykład powinien działać, ale wyniki mogą nie być aż tak istotne.

$search = isset($_GET['q']) ? $_GET['q'] : ''; 
$search = strtoupper($search);
$search = strip_tags($search); 
$search = trim($search);
$words = explode(' ', $search);
$words_condition = array();
$arguments = array();
foreach ($words as $word) {
    $words_condition[] = 'name LIKE ?';
    $arguments[] = '%'.$word.'%';
}

$query = $con->prepare('SELECT * FROM `users` WHERE '.implode(' OR ', $words_condition));
$query->execute($arguments);

$result = $query->rowCount();
echo $result;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dodać sterownik JDBC do potoku Jenkins?

  2. UnsupportedOperationException z DriverManager.getConnection() w systemie Android

  3. MySQL:Kod błędu:1118 Zbyt duży rozmiar wiersza (> 8126). Zmiana niektórych kolumn na TEKST lub BLOB

  4. Skrypt PHP do rejestrowania surowych danych POST

  5. MySQL konwertuje moje wartości sygnatury czasowej na 0000-00-00