2013-03-02 4 views
-1

이 옵션을 사용하여이 사이트를 선택하거나 모든 사이트를 선택하려고합니다. 내가 모든 사이트를 클릭하면 작동합니다. "4shared"를 클릭하면 작동합니다. 하지만 "putlocker"를 클릭하면이 문제가 발생합니다. 쿼리가 비었습니다.검색에서 검색어가 비어 있습니다. PHP

은 정말 당신이 연관 배열을 사용하기 때문에 내가

while($row = mysql_fetch_assoc($query)){ 

에 잘못된

<?php 
include"inc/connect.php"; 
include"inc/functions.php"; 
error_reporting(0); 
if(isset($_GET['s']) && $_GET['s'] != ""){ 
    $s = $_GET['s']; 
    $w = $_GET['w']; 

    if($w == 'all'){ 
     $sql = "SELECT * FROM result WHERE (`name` LIKE '%".$s."%') OR (`keywords` LIKE '%".$s."%')"; 
    }else if($w == 'Sockshare'){ 
     $sql = "SELECT * FROM result WHERE website='Sockshare' AND (`name` LIKE '%".$s."%') OR (`keywords` LIKE '%".$s."%')"; 
    }else if($w == 'Putlocker'){ 
     $sql == "SELECT * FROM result WHERE website='Putlocker' AND (`name` LIKE '%".$s."%') OR (`keywords` LIKE '%".$s."%')"; 
    }else if($w == '4shared'){ 
     $sql = "SELECT * FROM result WHERE website='4shared' AND (`name` LIKE '%".$s."%') OR (`keywords` LIKE '%".$s."%')"; 
    }else if($w == 'Rapidshare'){ 
     $sql = "SELECT * FROM result WHERE website='Rapidshare' AND (`name` LIKE '%".$s."%') OR (`keywords` LIKE '%".$s."%')"; 
    } 

    $query = mysql_query($sql) or die(mysql_error()); 

    $count = mysql_num_rows($query); 

    if($count > 1){ 
     while($row = mysql_fetch_array($query)){ 
      $name = $row["name"]; 
      $details = $row["details"]; 
      $url = $row["url"]; 

      $results .= ' 
      <div id="stitle">' .$name. '</div> 
      <div id="details">' .$details. '</div> 
      <div id="url"><a target="_blank" href="' .$url. '">' .$url. '</a></div>'; 
     } 
     } else { 
      $results = 'Nothing found!'; 
     } 
} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Findrfile.com - Putlocker Search | Sockshare search | Mediafire Search</title> 
<link href='http://fonts.googleapis.com/css?family=Orienta' rel='stylesheet' type='text/css'> 
<link rel="stylesheet" href="main.css" /> 
</head> 

<body> 
<script type="text/javascript" src="js/jquery-1.7.2.js"></script> 
<script type="text/javascript" src="js/main.js"></script> 
<?php include"header.php"; ?> 
<div id="spacer"></div> 
<?php include"litsearch.php"; ?> 
<div id="nuresults"><span class="blue"><?php echo $count; ?> Results found</span></div> 
<div id="spacerx"></div> 
<div id="wrapper"> 
<div id="spacerx"></div> 
<div id="content"> 
<?php echo $results; ?> 
<div class="clear"></div> 

</div> 
<div id="spacerx"></div> 
<div id="spacer"></div> 
</div> 
<?php include"footer.php"; ?> 
</body> 
</html> 
+0

값을 확인하셨습니까? 어쩌면 주위에 공백이 있습니다. –

+0

[SQL 주입] (http://bobby-tables.com/) 문제가 있습니다. (그리고'$ w '가 허용 된 값 중 하나와 일치하지 않으면 오류 메시지를 보여 주어야합니다.) – DCoder

+0

[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오. bit.ly/phpmsql). 더 이상 유지 관리되지 않으며 공식적으로 사용되지 않습니다 (https://wiki.php.net/rfc/mysql_deprecation). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). – h2ooooooo

답변

0

변경

while($row = mysql_fetch_array($query)){ 

무엇을했는지 잘 모릅니다.

 $name = $row["name"]; 
     $details = $row["details"]; 
     $url = $row["url"]; 

이 같은

while($row = mysql_fetch_array($query)){ 

을 사용하려면 :

$name = $row[0]; 
    $details = $row[1]; 
    $url = $row[2]; 

은 내가 잘못 건가요? ALSO

:

확인할는 $ _GET 경우 [ "들"] 설정되어 있지만 [ "w"] $ _GET을 선택하지

+0

감사합니다, 나는 tryed하지만 putlocker를 선택할 때 나는 여전히 그 오류가 발생합니다. – user1217322

1

당신은이 $sql == "SELECT * FROM result WHERE website='Putlocker' AND (name LIKE '%".$s."%') OR (keyword LIKE '%".$s."%')";으로 통지 ==,이 비교 연산자 그래서 값을 $sql 으로 설정하지 않습니다. 귀하의 문제 일 수 있습니다.

+0

예 : D 감사합니다. 나는 그것을 놓쳤다 고 생각합니다. – user1217322

+0

당신을 진심으로 환영합니다. 문제가 해결되면 답변을 수락 해 주셔서 감사합니다. D – Chris

관련 문제