Bạn không nên sử dụng @ để tắt tiếng lỗi, đó là một cách làm không tốt, hãy kiểm tra xem giá trị đã được đặt chưa. Ví dụ dưới đây sẽ hoạt động, nhưng kết quả có thể không phù hợp.
$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;