我正在尝试学习php,我开始使用一个简单的CRUD项目。我基本上已经下载了一些源代码,而我只是想通过它来完成它。当我到达CRUD项目的删除部分时,我遇到了这段代码:
include 'connect.php';
$id = $_GET['id']; // what does this line do?
$table = 'book';
$query = "DELETE FROM $table WHERE id_book=$id";
$result = mysqli_query($connect, $query) or die(mysqli_error($connect));
header('location: index.php');
我真的对这条线感到困惑:
$id = $_GET['id'];
当我在谷歌上进行搜索时,我发现的唯一一件事是来自一些类似代码的简短说明,上面写着“从网址获取ID”。这对我没有意义。有人可以解释一下这行实际上做了什么,以及什么存储在$ id变量中?
提前感谢您的帮助!
答案 0 :(得分:1)
$_GET['id']
指的是URL参数。这是一个例子:
http://www.yourdomain.com?id=1&name=Taylor&city=London
根据上面的网址,您可以使用id
,name
和{{1}获取网址参数city
,$_GET['id']
和$_GET['name']
的值}}
此外,正如评论中所述,您的行$_GET['city']
并不安全。看看准备好的陈述。
答案 1 :(得分:0)
如果您的网址为http://www.yourdomain.com?id=1
$id = $_GET['id'];
我是$ _GET [' id'];
请注意:http://php.net/manual/en/reserved.variables.get.php
但这不是最好的方式......看:http://php.net/manual/en/function.filter-input.php
您的代码需要验证$ id(外观:http://php.net/manual/en/filter.filters.validate.php)
对于db,请改用PDO(http://php.net/manual/en/class.pdo.php)
答案 2 :(得分:0)
您可以通过浏览器向此php脚本拨打两个基本电话。你要么使用" GET"或" POST"。 $ _GET将变量作为键值对传入您的php脚本。例如,如果您执行了这样的get请求:http://yoururl?usermail=abc@gmail.com&id=1275,那么$ _GET将有两个键:usermail和id。 $ _GET [" id"]的值为1275 - 在您的php脚本中,这将被插入到SQL语句中。