2013-07-16 62 views
-3

我正在尋找相同的代碼來搜索我的表colmon中的東西。 我不希望它的搜索「喜歡」輸入搜索。 我希望它能夠在表格中精確搜索值。尋找類似於SQL LIKE運算符

如果在「電影名稱」行.. 用戶搜索「行屍走肉第三季第1集」 其搜索正是「行屍走肉第三季第1集」和不給我所有的結果看起來像多數民衆贊成..

我的代碼現在是:

<?php 
function connect($host,$username,$database,$password){ 
$to_connect = mysql_connect($host,$username,$password) or die ("UNFinded ".$username. " DB !"); 
$db = mysql_select_db($database, $to_connect) or die (mysql_error()); 
return $db; 
} 
connect("localhost","idevice2_ariel","idevice2_ariel","ariel123456"); 


if (!isset($_POST['submit_form'])) { 
    echo '<form name="search_form1" method="POST" action="search.php"> 
<input type="text" name="search_name" value="search movie name" /> 
<input type="submit" value="Submit" name="submit_form" /> 
</form>'; 
} else { 
     $search_name = $_POST['search_name']; 
     $query = mysql_query ("SELECT * FROM members where `moviename` = $search_name"); 
     $count = mysql_num_rows($query); 
     while($row = mysql_fetch_array($query)) { 
     $fname = $row['moviename']; 
     $lname = $row['links']; 
     print '<a href="'.$row['links'].'">'.$row['moviename'].'</a><br />'; 

} 

} 
?> 

感謝您!林依晨。

+1

使用等號? 'moviename = ...'旁註:這將是一個令人沮喪的用戶..噢,並且你對sql注入很開放 –

+0

'moviename ='步行死亡季節3情節1'' – DevlshOne

+0

我需要使用一個「=」?還是兩個?我初學者..謝謝 – user2588559

回答

0
if (!isset($_POST['submit_form'])) { 
    echo '<form name="search_form1" method="POST" action="search.php"> 
<input type="text" name="search_name" value="search movie name" /> 
<input type="submit" value="Submit" name="submit_form" /> 
</form>'; 
} else { 
     $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world'); 
     $search_name = $_POST['search_name']; 
     $query = $mysqli->prepare("Select * from members where moviename = ? OR links = ?"); 
     $query->bindParam('ss',$search_name,$search_name); 
     $query->execute(); 
     $query->bind_result($link,$movieName); 
     while($query->fetch()) { 
      echo '<a href="'.$link.'">'.$movieName.'</a><br />';  
     } 
     $query->close(); 

} 
?> 

考慮使用預準備語句。

+0

這仍然對sql注入打開,並且在查詢中有錯誤(你甚至沒有引用字符串,至少OP是這樣做的)。如果你想要做點什麼,那麼就一直這麼做吧 –

+0

我更新了這個頁面的代碼 – user2588559

+0

對不起,懶惰的初步答案。 –