Php SQL何处ID结转
基本上我已经创建了两个php页面。其中一个选择我的整个表,只显示其中的日期和id号。每个日期都有一个指向display.php文件的链接。它将ID号与其一起拉到下一个display.php页面。我想在display.php文件上做的是使用该php显示整行 所以我知道Select*from tablename WHERE id=1将提取该数据,但是如何将id号放入WHERE语句中呢 这是主页代码: //SQL查询 $strSQL=从表1中选择*Php SQL何处ID结转,php,sql,Php,Sql,基本上我已经创建了两个php页面。其中一个选择我的整个表,只显示其中的日期和id号。每个日期都有一个指向display.php文件的链接。它将ID号与其一起拉到下一个display.php页面。我想在display.php文件上做的是使用该php显示整行 所以我知道Select*from tablename WHERE id=1将提取该数据,但是如何将id号放入WHERE语句中呢 这是主页代码: //SQL查询 $strSQL=从表1中选择* // Execute the query (the
// Execute the query (the recordset $rs contains the result)
$rs = mysql_query($strSQL);
// Loop the recordset $rs
while($row = mysql_fetch_array($rs)) {
// DATE
$strName = $row['date'];
// Create a link to display.php with the id-value in the URL
$strLink = "<a href = 'display.php?ID = " . $row['ID'] . "'>" . $strName . "</a>";
// List link
echo "<li>" . $strLink . "</li>";
}
?
我试过了,什么也没得到。有什么建议吗
使用GET now…还是不走运
我试过GET语句。在我的地址栏中,它显示了ID号。所以我看到身份证号码和它在一起。我甚至试着回显ID,看看是不是我的代码搞乱了
<?php
$dbhost = 'localhost';
$dbuser = 'myusername';
$dbpass = 'mypw';
$dbname = 'mydbname';
$id = $_GET['id'];
mysql_connect($dbhost, $dbuser, $dbpass) or die('MySQL connect failed. ' . mysql_error());
mysql_select_db($dbname) or die('Cannot select database. ' . mysql_error());
?>
<body>
ID #<?php echo $id ?>
</body>
</html>
<body>
ID #<?php echo $id ?>
</body>
</html>
仍然没有运气查询字符串中传递的值使用GET not POST Post用于表单变量
从查询字符串中获取值时,还应注意SQL注入攻击的危险。因此,在显示文件中,您可以执行以下操作
$id = $_GET['ID'];
//DO SANITIZATION ETC ON THE ID HERE TO MAKE SURE ITS SOMETHING WE EXPECTED (AN INT)
$sql = "SELECT STUFF WHERE ID = {$id}"; //FOR BREVITY SAKE DOING AWAY WITH SECURITY
因此,基本上您的第一个脚本所做的是在url查询字符串中传递id,在这里传递的值可以在$\u GET super globals数组中访问
您在此处和其他超级全局文件中访问的任何内容都应视为对您的应用程序完全危险。您应该进行筛选,然后在将其插入数据库之前,必须使用正确的数据库机制进行转义。否则,您将面临SQL注入攻击。谢谢您让它发挥作用……我想我有额外的报价或其他东西。不管怎样,现在都很完美,非常感谢!
$id = $_GET['ID'];
//DO SANITIZATION ETC ON THE ID HERE TO MAKE SURE ITS SOMETHING WE EXPECTED (AN INT)
$sql = "SELECT STUFF WHERE ID = {$id}"; //FOR BREVITY SAKE DOING AWAY WITH SECURITY