Мне кажется, что у вас есть ошибка в вашем запросе .. в частности, на ON
из LEFT JOIN
, посмотрите на него:
FROM users LEFT JOIN bills ON CONCAT(users.firstname, users.lastname) = bills.receiver
Если вы объедините две строки, такие как эээ, "Red" и "John", результат, очевидно, будет "RedJohn", в то время как в bills.receiver
между двумя строками есть пробел.
Вам необходимо также указать пробел между именем и фамилией для объединение (как вы делаете в), чтобы найти что-то в нужной таблице.
Кроме того, я предлагаю вам попробовать запрос непосредственно из sql клиента, чтобы проверить, что облегчает исправление муха, пока вы экспериментируете.
Редактировать:
Также, если вы посмотрите, где вы, проверьте это:
WHERE (users.firstname LIKE '%$search_val%'
OR CONCAT(users.firstname,' ',users.lastname) LIKE '%$search_val%'
OR users.lastname LIKE '%$search_val%'
Не можете ли вы просто проверить с помощью concat выражение? Два других являются избыточными, так как вы используете LIKE