Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库表发送ID(如URL中的GET参数)是否是一种良好的做法?_Php_Get - Fatal编程技术网

Php 从数据库表发送ID(如URL中的GET参数)是否是一种良好的做法?

Php 从数据库表发送ID(如URL中的GET参数)是否是一种良好的做法?,php,get,Php,Get,我只想问一件事。我从数据库中选择书籍并将其显示为列表。当用户按下书名时,它会将用户带到书的内页。我认为简单的做法是使用get参数(ID)(这个ID参数是从数据库中选择的)生成href。例如:。这样做是好的做法吗?或者最好发送其他参数,而不是id是没有问题您也可以发送POST请求而不是GET,我认为这样会更好。只要查询字符串不包含敏感信息,就完全可以了。这样通过身份证是绝对正常的,甚至是标准的 另外,如果您对SEO感兴趣,您可能希望在URL中传递图书名称,因为URL内容会在一定程度上影响您的排名。

我只想问一件事。我从数据库中选择书籍并将其显示为列表。当用户按下书名时,它会将用户带到书的内页。我认为简单的做法是使用get参数(ID)(这个ID参数是从数据库中选择的)生成href。例如:
。这样做是好的做法吗?或者最好发送其他参数,而不是id

是没有问题您也可以发送POST请求而不是GET,我认为这样会更好。

只要查询字符串不包含敏感信息,就完全可以了。这样通过身份证是绝对正常的,甚至是标准的

另外,如果您对SEO感兴趣,您可能希望在URL中传递图书名称,因为URL内容会在一定程度上影响您的排名。因此,拥有像
book/{book id}-{bookname}
这样的URL可能是个好主意,例如
book/12344《纯粹理性批判》

更新

正如@Fred-ii-合理地指出的,您必须确保您受到SQL注入的保护。因为您愿意使用简单的整数ID,所以实现起来非常简单(在非常基本的级别上):

解决方案1

book/?ids=12,13,14
解决方案2:提交如下表格

<input name="id" value="12"/>
<input name="id" value="13"/>
<input name="id" value="14"/>


这完全正常。不过,如果您正在获取图书编号12,您可能希望坚持使用RESTful表示,并使用它
GET book/12
。是的,通常使用ID进行此操作。您好,发送参数可能是一个好主意,在执行诸如分页之类的操作时,发送锚点更有意义,或者您希望用户通过更改url访问他们所需的页面的位置。这取决于你的要求;如果没有代码支持mysqlyour的问题,那么很可能会出现sql注入:1)范围太广2)不清楚3)基于观点的测试/发布什么真正更好?如果他们的mysql没有受到可能的sql注入的保护,POST会有什么好处呢?我知道这只是关于url,但我猜他在这里不是指安全性。他们把这个问题标记为mysql。因此,如果这与问题无关,那么他们应该删除标记IMHO.solutiontowhat?您没有理解这里的问题,您可以在回答中添加关于可能的sql注入的问题。再说一遍,我们也不知道他们的代码是什么样子。(因为它被标记为mysql)。我从数据库中选择书籍并将它们显示为列表。例如当按下书名时,它应该转到书的内页。所以我问了这个问题,因为我不确定把数据库中的id作为get传递是否好parameter@GeorgyIvanov给OP。但是谢谢;-)
<input name="id" value="12"/>
<input name="id" value="13"/>
<input name="id" value="14"/>