2015-12-26 4 views
0

Я получил этот PHP кодPHP LIKE не работает

$search=$_GET['Searchusername']; 
$searchuser="SELECT fullname,lastname,userName FROM users WHERE userName LIKE '%{$search}%' 
OR fullname LIKE '%{$search}%' OR LIKE '%{$search}%'"; 

$query = mysqli_query($link, $searchuser); 
$numrows = mysqli_num_rows($query); 
$row = mysqli_fetch_row($query); 

Но это дает мне 2 ошибки

mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in 

И

mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given in 

И я хочу, чтобы работать с Т.П. оператор.

+0

Ваш запрос завершается с ошибкой, а '$ query' становится' false'. Вы не можете получить данные от него. Вам нужно проверить, является ли '$ query' ложным - вывести mysql-ошибку. Тогда вы поймете, что ваш запрос неверен. –

ответ

3

Firstoff, LIKE является частью синтаксиса SQL, а не PHP. В вашем запросе вы пропускаете имя столбца, поэтому это не удается:

$searchuser="SELECT fullname,lastname,userName 
      FROM users 
      WHERE userName LIKE '%{$search}%' 
      OR fullname LIKE '%{$search}%' 
      OR lastname LIKE '%{$search}%'"; 

вы получаете булево является false, поскольку запрос не удалось из-за lastname неведения.

+0

Спасибо, что ответите, теперь это сработало! – killinkillers

+0

Я могу принять его только через 3 минуты – killinkillers