2017-03-04 1 views
-3

데이터베이스 이름은 "db"입니다. 테이블은 'tbl_pro'입니다. 필드는 "msid" "subid" "pid"및 "pname"입니다.PHP는 URL에서 페이지에 레코드를 얻습니다.

URL에서 "msid"를 통해 데이터를 가져 오려고하면 새 페이지에서 제대로 작동합니다. 그러나 "pname"을 통해 나는 그것을 얻을 수 없다.

<? 
      $QryP=mysql_query("Select * from tbl_pro where Pname='test' order by Rank desc") or die("Error loading Products"); 
      if(mysql_num_rows($QryP)>0) { 
      while($rs=mysql_fetch_array($QryP)){ 
        ?> 
       <div class="col-md-3 col-sm-4 "> 
        <div class="w-box product"> 
         <figure> 
          <img alt="" src="upload/spic/<?=$rs["Spic"]?>" class="img-responsive img-center"> 
         </figure> 
         <h2><a href="test.php?Pname=<?=$rs["Pname"]?>"><?=$rs["Pname"]?></a></h2> 
            <p> 

다른 페이지의에 : ​​여기

페이지 1 개 코드 내 코드입니다.

페이지 2 코드 :

<? 
     $QryP=mysql_query("Select * from tbl_pro where Pname=".$_REQUEST["Pname"]." AND Display='y'") or die("Error loading Products"); 
      if(mysql_num_rows($QryP)>0) { 
      while($rs=mysql_fetch_array($QryP)){ 

    ?> 

내가 대신 "PNAME"그 작업 벌금 "MSID"를 사용하는 경우

. 쿼리에서 문자열을 사용했을 때

+0

MySQL에서는 열 이름이 대소 문자를 구분합니까? (나는 그것을 사용하지 않는다, 그래서 나는 모른다). 즉 "Pname"대신 "pname"이어야합니다 (질문 맨 위에서 말했듯이). –

+1

값 주위에 작은 따옴표가 없습니다. '... Pname = ' ". $ _REQUEST ["Pname "]."'... 또한 die()에서 실제 오류를 출력합니다. – Shadow

+0

또한 mysql_ *은 더 이상 사용되지 않습니다. mysqli_ * 살펴보기 –

답변

0

그것의 더 나은 등의 연산자로 이동합니다

경우 (는 isset ($ _ REQUEST [ 'PNAME'])) {$ PNAME = $ _ REQUEST [ 'PNAME']; } 다른 {$ PNAME = '';}

경우 (! PNAME는 = '') {

$ QryP =는 mysql_query이 ("선택 *에서 tbl_pro 곳 PNAME 같은 '.. %"$ PNAME "%' AND Display = 'y' ") 또는 죽을 때 ("Error loading Products ");

관련 문제