Просто удалите первые %
из каждой из LIKE
строк.
$q = "SELECT id_user, f_name, l_name, postcode, email,telp FROM user
WHERE f_name LIKE '$keyword%'
OR l_name LIKE '$keyword%'
OR email LIKE '$keyword%'
OR postcode LIKE '$keyword%'";
Тем не менее, вы должны действительно , действительно исследовать, используяPDO или аналогичный и отправка связанного запроса, где каждый параметр должным образом экранируется для предотвращения атак внедрения SQL.
Если вы сделаете это, SQL станет немного сложнее, потому что вы не можете связать параметр внутристрока, поэтому добавление %
должно быть сделано в виде конкатенации SQL:
$q = "SELECT id_user, f_name, l_name, postcode, email,telp FROM user
WHERE f_name LIKE CONCAT(?, '%')
OR l_name LIKE CONCAT(?, '%')
OR email LIKE CONCAT(?, '%')
OR postcode LIKE CONCAT(?, '%')";
(затем создайте подготовленный дескриптор оператора и выполните его с соответствующими параметрами - вы найдете множество других примеров.где на Stackoverflow).