$ _GET Double“WHERE”函数?name = Hannes

时间:2017-03-07 17:10:29

标签: php

我对$ _GET函数有疑问。这是我的代码:

<?php 
$link = mysqli_connect  ('localhost', 'root', 'root', 'producten'); 
$query =            "SELECT DISTINCT Groep, Artikelnummer, Artikelnaam, Merk, Groep, Prijs
                    FROM producten
                    WHERE Groep = '" .$_GET['groep'] . "'  
                    ";
    /*echo $query;*/
    $result = mysqli_query($link, $query);
?>
<table>
<?php
    echo '<table style="width:100%">
            <tr style="color:yellow; background-color:black;">
                <th>' . $_GET['groep'] . '</th>
            </tr>';
    foreach ($result AS $rij)
{

     echo '<tr style="background:blue"><td>' . $rij['Artikelnummer'] . ' </td>' . 
     '<td>' . $rij['Artikelnaam']   . ' </td>' .
     '<td>' . $rij['Merk']  . ' </td>' .
     '<td>' . $rij['Groep']     . ' </td>' .
     '<td>' . $rij['Prijs']         . ' </td></tr>';



}
?> 

如果我使用网址访问浏览器:http://localhost/view.php?groep=cases 我看到了数据库中的所有“案例”,但我只想看看来自商标('Merk')Apple的案例。

当然我需要更改其URL,但我需要在代码中更改什么?类似于:WHERE Groep = '" .$_GET['groep'] . "' AND Merk = '" .$_GET['merk'] . "'

网址:http://localhost/view.php?groep=cases?merk=apple

3 个答案:

答案 0 :(得分:1)

不会这样做。将获取变量分配给变量。

如果您通过在mypage.php之后获取网址中的任何内容来执行此操作?x = __&amp; y =

使用&amp;要分离变量,你的get变量name =要传递的值

$x = $_GET['x']
$y = $_GET['y']

然后使用准备好的声明:假设x是groep

s,s表示字符串,i表示整数是查询中的变量数,?是将变量放在WHERE子句中的占位符。

2绑定变量它是bind-&gt; param(&#34; ss&#34;,$ var,$ var2)

3个绑定变量1个整数bind_param(&#34; ssi&#34;,$ var,$ var2,$ int)

$query = "SELECT DISTINCT Groep, Artikelnummer, Artikelnaam, Merk, Groep, Prijs
                    FROM producten
                    WHERE Groep =?";
$stmt = $link->prepare($query);
$stmt->bind_param("s",$x);
$stmt->execute();
$stmt->bind_result($groep,artikelnummer,......,$prijs);   // Variables are like $row['groep'] assignments.

// Loop through all the rows, if you don't loop it'll only pull the first record with a $stmt->fetch();

while($stmt->fetch()){
    echo $groep;
    echo $artiteknummer;
    ...
    ...
    echo $prijs
} 
$stmt->close();

答案 1 :(得分:0)

只是...... http://localhost/view.php?groep=cases&merk=apple
使用后使用&amp; 表示第一个变量

答案 2 :(得分:0)

URL format with GET parameters? https://en.wikipedia.org/wiki/Query_string

此外,你不应该使用像这样的MySQL代码,使用预备语句。