2016-04-07 4 views
0

у меня есть следующий код PHP:Оператор LIKE не работает

$sth = "SELECT * FROM data WHERE titulo LIKE '%$input%'"; 

$rec = mysql_query($sth); 


$count = 0; 
$result = array(); 

while($row = mysql_fetch_object($rec)) 
    { 
    $count++; 
    array_push($result, $row); 
    } 
    // If result matched $myusername and $mypassword, table row must be 1 row 

if($count == 1) { 

    echo json_encode($result); 
    return 1; 

}else{ 
    echo "No results found"; 
    return 0; 
} 

на $ входе у меня есть, например, «он».

Как я могу получить, например, все строки с этим: «HEllo sir», «My HEarth», «like xxHExx»?

Он получает только строки, как «xxHExx» и «Его», но ничего ...

самом деле, как оператор не работает ... Как я могу получить это сделано с PHP, чтобы получить все строки, соответствующие этим 2 буквы?

Thx

Быстрый пример:

Я хочу, чтобы все строки, которые соответствуют "ола"

В данных таблицы 2 строки соответствуют "ола" в колонке "título"

значение в этих колонках (título) является: - "Hola" - "Hola2"

Так на самом деле LIKE операция не дает каких-либо resoult в этом примере ...

+1

В коде, вы только распечатать результат, если ноль или один результат будет найден. Не хотите ли вы получить более одного результата? – kainaw

+0

Я предполагаю, что @kainaw указал, что это ваша проблема, потому что это должно работать нормально. также переходите к mysqli вместо функций mysql. Функции mysql устарели. – Jester

+1

также вы уязвимы для SQL-инъекции – Jester

ответ

3

Изменить

if($count == 1) { 

в

if($count>0) { 

И ...

СТОП с использованием функции mysql_

И .. .

Подробнее о SQL Injection

И ...

Узнайте, как использовать подготовленные заявления

+0

Хорошо, это на самом деле работает! Thx m8, также не беспокойтесь о том, чтобы не использовать mysqli, это всего лишь школьный проект: D –

+0

@ManelAlonso Предполагаю, что вы собираетесь в школу, чтобы позже воплотить его в жизнь для реальных проектов? почему бы не научить себя правильному пути сейчас? – Jester

+0

@ RyanVincent - это то, как работает воспитатель, для любого образовательного учреждения (в том числе университетов) требуется около 5 лет для использования даже дистанционно современных технологий.Все идет слишком быстро для них – Martin

Смежные вопросы