2017-03-04 149 views
-3

我有數據庫名稱是「db」表是'tbl_pro'是Feild是「msid」「subid」「pid」和「pname」。PHP從URL獲得記錄

當我嘗試通過URL中的「msid」獲取數據時,它在新頁面上正常工作。但通過「pname」我無法得到它。這裏是我的代碼

第1個代碼:其他頁面及其對

<? 
      $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> 

第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( 「SELECT * FROM tbl_pro其中PNAME像「。%」 $ PNAME「%」 AND Display ='y'「)或死(」Error loading Products「);