Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP PDO MySQL заявка LIKE -> множество ключови думи

Не трябва да използвате @ за заглушаване на грешки, това е лоша практика, проверете дали стойността е зададена. Примерът по-долу трябва да работи, но резултатите може да не са толкова подходящи.

$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. Принудително пускане на mysql, заобикаляйки ограничението на външния ключ

  2. MySQL код на грешка:1193. Неизвестна системна променлива

  3. SQL заявка за преброяване в група с определено условие

  4. PHP масив като вход за съхранена процедура

  5. Сума до определен момент - MySql