Сгруппируйте свою логику в скобках, чтобы запрос действительно выполнял то, о чем вы думаете.
WHERE client_visit.user_id = '$pid'
AND
(
client_visit.why_visit LIKE '%$q%'
OR client_visit.field1 LIKE '%$q%'
OR client_visit. field2 LIKE '%$q%'
OR client_visit. field3 LIKE '%$q%'
)
AND
(
client_visit. field4 LIKE '%$q%'
OR client_visit. field5 LIKE '%$q%'
OR client_visit.v_notes LIKE '%$q%'
OR client_visit.date_time LIKE '%$q%'
OR client_names.client_name LIKE '%$q%'
)
С другой стороны, я надеюсь, что ваши данные экранируются.Если нет, вы хотите поместить это непосредственно перед $sql = ...
, чтобы дать ему некоторую защиту.
$pid = (int) $pid;
$q = mysql_real_escape_string($q);
$start = (int) $start;
$limit = (int) $limit;