我是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的值
答案 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?。