2017-12-27 16 views
-2

を準備達成ん:どのように私はこの使用してPDOは私がURLコードで指定された列を選択するには、以下のこのコードを使用mysqliのサーバーで声明

 include "init.php"; 

     $get=$_GET["action"]; 

     $sql = mysqli_query($conn, "SELECT * FROM $get ORDER BY id DESC LIMIT 6"); 

     $productCount = mysqli_num_rows($sql); // count the output amount 

     if ($productCount > 0) 
     { 

     while($row = mysqli_fetch_array($sql)){ 

     $id = $row["id"]; 

     $jjode = $row["code"]; 

     $product_name = $row["network"]; 

     $details = $row["details"]; 

     $logo = $row["logo"]; 

     $price = $row["price"]; 

     } 

を私はコードのように私のPDOサーバでそれを使用してみてください:

 include "init.php"; 

     $get=$_GET["action"]; 

     $sql = $conn->prepare("SELECT id,code,network,details,logo,price FROM $get ORDER BY id DESC LIMIT 6"); 

     $sql->execute(); 

     $row = $sql->fetchAll(); 
     if(count($row) > 0) 

     { 

     $id = $row["id"]; 

     $jjode = $row["code"]; 

     $product_name = $row["network"]; 

     $details = $row["details"]; 

     $logo = $row["logo"]; 

     $price = $row["price"]; 

     } 

が、それはどのように私は事前

+0

[PDO例のループ結果をする必要があります。複数の行を選択する](https://phpdelusions.net/pdo_examples/select#multiple) –

答えて

0

にPDOのおかげを使用すると、コードリストの両方が安全ではないことを実現するようにしてください出力より良い結果をしませんでした。 $ getにはホワイトリストを使用してください。

あなたはfetchAllの

$rows = $sql->fetchAll(); 
foreach ($rows as $row) 

{ 

    $id = $row["id"]; 

    $jjode = $row["code"]; 

    $product_name = $row["network"]; 

    $details = $row["details"]; 

    $logo = $row["logo"]; 

    $price = $row["price"]; 

} 
+0

そのホワイトリストをどのように使用すればよいですか$ – obinnak

+0

たとえば、許可されたテーブル名で配列を作成します。 '$ allowedTables = ['my_table1'、 'my_table2 '] 'とクエリを準備する前に' $ get'がこの配列に存在することを確認します。 – Pasha

関連する問題