2017-11-16 13 views
-1

最近私はPHP関数を作成しましたが、私が望むように動作しません。
これは私のコードです:PHP検索エンジンが動作しません

<div class="pageContent"> 
<?php 

    getComments($conn); 

    function getComments($conn){ 

     $searchFor = $_POST['keyword']; 

     $sql = "SELECT adds.* FROM keywords JOIN adds on keywords.productID = adds.id and keywords.keyword LIKE '%".$searchFor."%'"; 
     $result = $conn->query($sql); 
     while ($row = $result->fetch_assoc()) { 

      echo "<div class='add'> 
       <img src='uploads/".$row['imgURL']."'> 
       <div> 
        <h1><a>".$row['name']."</a></h1> 
        <p>".$row['descr']."</p> 
       </div> 
      </div>"; 

     } 
    } 

?> 
<br /> 

そして($ CONN)

$conn = mysqli_connect("localhost", "root", "", "stp2"); 

if (!$conn) { 

    die("Connection failed: ".mysqli_connect_error); 

} 

機能はわずか2回、同じ結果を示している通常の2件の異なる結果があるとき。

皆さんが私を助けてくれることを願っています。

+1

[リトルボビー](http://bobby-tables.com/)は言った** [あなたはSQLインジェクション攻撃の危険にさらされる可能性があります(https: //stackoverflow.com/q/60174/)**。 [パラメータ化されたクエリ](https://stackoverflow.com/a/4712113/5827005)で[Prepared Statements](https://en.wikipedia.org/wiki/Prepared_statement)について学んでください。パラメータ化されていないクエリを使用するよりも、非常に簡単で、きれいで、安全であるように、私は[PDO]を勧めました(https://github.com/GrumpyCrouton/GrumpyPDO)。また、[この記事](https://phpdelusions.net/pdo/mysqli_comparison)では、 'MySQLi'と' PDO'のどちらかを選ぶのに役立ちます – GrumpyCrouton

答えて

0

結果が重複している場合は、GROUP BYを使用して「追加」テーブルのIDでグループ化することができます。これは、そのテーブルから同じ行の複数のコピーを取り除くだろう

関連する問題