PHP-使用GET从mysql回应问题

时间:2015-06-11 22:49:31

标签: php mysql database get

我是PHP的新手,我正在尝试使用我的URL中的ID作为参考来回显我的数据库中的特定字段。然而,它不是回显值,而是回显ID。

出错了什么?有没有更好的方法呢?提前致谢。

我试图通过我的URL中的ID来回显日期创建的字段。 该网址为www.example.com/client_profile.php?id=1001

<div class="thumb-info mb-md">
    <img src="assets/images/!logged-user.jpg" class="rounded img-responsive" alt="John Doe">
    <div class="thumb-info-title">
        <?php
            echo $_GET['id'];  //Output: myquery
            $result = mysql_query("SELECT * FROM client WHERE id = '" . $_GET['id'] . "'");
            while($row = mysql_fetch_array($result)){
                echo "<span class='thumb-info-inner'>$row.['datecreated'].</span>";
            }
        ?>
    </div>
</div>

更新代码

<?php
mysql_connect("localhost", "my user", "my pass") or
die("Could not connect: " . mysql_error());
mysql_select_db("my db");

$id = (int)$_GET['id'];  //Output: myquery
echo $id;
$result = mysql_query("SELECT * FROM client WHERE id = $id");
while($row = mysql_fetch_array($result)){
    echo "<span class='thumb-info-inner'>" . $row['datecreated'] . "</span>";
}?>

哪个回复ID和来自DB的值

1 个答案:

答案 0 :(得分:0)

试试这个。

<div class="thumb-info mb-md"> <img src="assets/images/!logged-user.jpg" class="rounded img-responsive" alt="John Doe">
    <div class="thumb-info-title">
        <?php
            $id = (int)$_GET['id'];  //Output: myquery
          echo $id;
            $result = mysql_query("SELECT * FROM client WHERE id = $id");
            while($row = mysql_fetch_array($result)){
                echo "<span class='thumb-info-inner'>" . $row['datecreated'] . "</span>";
          }?>
    </div>
</div>

在您当前的代码中,您的连接已关闭以显示$row数据。您也对SQL注入持开放态度。为了修复SQL注入,我将id转换为int,这是SQL Injection Protection - Cast from string to int上的一个帖子。您也可以使用mysql_real_string_escape(单词的顺序可能在那里)。 尽管如此,您应该切换到PDO和参数化查询,How can I prevent SQL injection in PHP?