我的数据存储在MySQL表中,其中包含每个新行的auto_increment ID号(唯一)。
我希望用户能够使用$_GET
功能获取特定的ID号。
例如。用户加载http://mysite.com/id.php?id=123
页面显示ID号123
以及行。
echo $row['id'];
echo "<table>";
echo "<tr> <th>Unit</th> <th>Message</th> <th>Date</th> </tr>";
while($row = mysql_fetch_array( $result )) {
echo "<tr><td>";
echo $row['title'];
echo "</td><td>";
echo $row['description'];
echo "</td><td>";
echo $row['pubDate'];
echo "</td></tr>";
}
echo "</table>";
echo "</center>";
我被困在$_GET
位的位置。
谢谢:)
答案 0 :(得分:3)
您应该将它附加到您的查询中(使用intval
以避免SQL注入),如下所示:
// use the id in your WHERE clause, convert it to an integer to avoid sql injections
$query = 'SELECT fields FROM table WHERE id = ' . intval($_GET['id']);
$result = mysql_query($query);
$row = mysql_fetch_row($result);
... do stuff with $row ...
答案 1 :(得分:0)
首先,您的代码没有多大意义,因为您在定义之前使用$row
。
其次,$result
根本没有定义,它应该是,例如:
$id = intval($_GET['id']);
$result = mysql_query("SELECT FROM table WHERE id = '$id'");
现在您知道如何以及在何处使用$_GET['id']
。
答案 2 :(得分:0)
$id = $_GET['id'];
$id = mysql_real_escape_string($id);
$query = "SELECT * FROM `Table` WHERE `id`='" . $id . "'";
$res = mysql_query ($query);
$exist = mysql_num_rows($res);
if ($exist) {
$row = mysqlfetch_assoc($res);
...
}
答案 3 :(得分:0)
之后不要浪费你的时间进行比较,你可以通过将它添加到原始查询来节省很多时间
$id = intval($_GET['id']);
$query = "SELECT whatever FROM table WHERE id=$id";