我如何解决这个问题,试图调用数据库条目与$GET数据


How do I fix this, trying to call database entry with $GET data?

我正在尝试通过一个链接发送数据,使用…?以链接中的Id =3为例。然后我使用GET在php检索它。但是当我尝试将它放入查询时,它不起作用

$select= mysql_query("SELECT * FROM products WHERE id= $_GET['id'] ");

您必须确保变量是整数,否则您很容易受到SQL注入攻击。

$id = (int) $_GET['id'];
$select= mysql_query("SELECT * FROM products WHERE id= $id");

PHP允许在引号内引用简单的变量,但不允许像你这样引用数组。你可以通过像@user3624411建议…但是请不要。这仍然容易受到SQL注入的攻击,您一定不要这样做。如果你是一名电工,你会因安装不安全的电线而引起火灾。

理想情况下,您将切换到PDO并使用查询参数,我鼓励您在第一次机会时了解这一点。但我知道你有时间限制,重写所有数据库代码是不现实的。

试试这个:

$id = $_GET['id'];
$select= mysql_query("SELECT * FROM products WHERE id= '$id' ");

或者可以使用$select= mysql_query("SELECT * FROM products WHERE id= " .$_GET['id'] . ")";

但是我建议你不要使用GET方法和MYSQL:使用POST和MYSQLI或PDO。