2017-03-16 34 views
0

我有content.php頁面,當我點擊「更多」,它必須給我的身份證號碼要求MySQL查詢帶來的名稱和說明與ID號

<a class="btn text_3 color_3" href="contentdesc.php?contentid=<?=$content["id"]?>">more</a> 

問題相同的內容就是當我點擊更多,這直接我contentdesc.php,並通過此查詢給了我在表中的最後一行:

<?php 
    $select="SELECT * FROM content WHERE id HAVING COUNT(*) > 1"; 
       $query=mysql_query($select); 
       while($row=mysql_fetch_assoc($query)) { 
        ?> 

       <div class="grid_12"> 

       <div class="box3"> 
     <h3 class="text_4 equal" data-mh="3"><?=$row['name']?></h3> 

     <div class="divider"></div> 


     <p class="text_8 color_6"><?=$row['description']?></p> 

          </div> 

         </div> 


     <?php } ?> 

請誰能幫我把內容作爲相同的ID號行?

+0

這是正常的行爲,因爲你告訴你的腳本,'href =「contentdesc.php?contentid = <?= $ content [」id「]?>'' – hassan

+0

這個腳本正在工作,頁面上的內容「contentdesc.php」沒有給我具有相同ID號碼的行。 –

回答

0

您的contentdesc.php頁面中的SQL查詢有點奇怪。

SELECT * FROM content WHERE id HAVING COUNT(*) > 1 

這是什麼意思?

  • SELECT *回報所有列
  • FROM content從該表
  • WHERE id其中id列的值計算爲真。也就是說,對於每個具有非零id的行。 (可能不是你想要的。)
  • HAVING COUNT(*) > 1如果表中有兩行或多行。 (可能不是你想要的)。

這可能是不正確的。您可能需要使用此SQL語句:

SELECT name, description FROM content WHERE id=DESIRED_ID_VALUE; 

在php中,它看起來像這樣。

$select="SELECT name, description FROM content WHERE id=" . 
      intval($_REQUEST["contentid"]) . ";"; 

第一行代碼中的超鏈接會生成一個如下所示的URL。

contentdesc.php?contentid=123 

$_REQUEST["contentid"]的價值來自於contentidparameter on the URL.intval() turns the value into an integer,以avoid sql injection

警告。您正在使用的mysql_呼叫是已過時不安全。請考慮使用mysqli_PDO

+0

非常感謝O.瓊斯,它工作:) –