2016-04-07 213 views
0

我有下面的PHP代碼:運營商如不工作

$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; 
} 

在$輸入我有例如「他」。

我怎樣才能得到例如所有與此行:「你好先生」,「我的HEarth」,「像xxHExx」?

它只是變得像琴絃「xxHExx」和「他」,但沒有別的......

其實很喜歡運營商不工作...我怎樣才能得到這個用PHP做讓所有匹配這個字符串2個字母?

THX

簡單的例子:

我想所有符合 「OL」

在表中的數據,該行2列列 「TITULO」

匹配 「OL」

這些列(titulo)中的值是: - 「Hola」 - 「Hola2」

所以實際上LIKE操作不給任何resoult在這個例子中...

+1

在你的代碼中,如果零個或一個結果是發現你將只打印結果。你不想獲得超過1個結果嗎? – kainaw

+0

我猜猜@ kainaw指出的是你的問題,因爲應該工作得很好。也請切換到mysqli而不是mysql函數。 mysql函數已被棄用。 – Jester

+1

也容易受到sql注入 – Jester

回答

3

變化

if($count == 1) { 

if($count>0) { 

而且......使用mysql_函數

而且

STOP .. 。

瞭解SQL注入

而且......

瞭解如何使用準備好的語句

+0

好的,這實際上是工作! Thx M8,也不用擔心不使用mysqli,它只是一個學校項目:D –

+0

@ManelAlonso我假設你要去學校以後才能將其付諸實踐用於真正的項目?爲什麼不現在教自己正確的方式? – Jester

+0

@RyanVincent這是educaton的工作方式,任何教育機構(包括大學)都需要5年左右才能使用遠程技術。這對所有人來說都太快了 – Martin