向用户显示由数据库自动递增的实际ID是否存在安全风险?你能举一些实际的例子来说明人们可以用它做什么危险吗? 最佳答案 不,它在许多情况下使用。如果您的网站以其他方式存在漏洞,比如SQL注入(inject)或XSS,他们可能会使用该ID来做一些有害的事情。但永远不要单独使用ID。只需查看您在SO的个人资料,您的ID就是243414 关于php-是否总是需要向用户隐藏mysql生成的id?,我们在StackOverflow上找到一个类似的问题: https://s
在我目前的方法中,我在sql查询中使用orderbydate,然后将backresults设置为一个新数组,通过php按id对数组进行排序。SELECT*FROMtableWHERE(MATCH(title,content)AGAINST('+$search'INBOOLEANMODE))orderbydateDESClimit0,10我想问一下,有没有sql方法,先orderbydate得到10个结果,然后在这10个结果中,再orderbyid,仅在一个sql查询中? 最佳答案 在您当前的查询周围包装一个外部查询。SELECTq.
我有一个现有的数据库,其中包含一个包含5列和大量数据的特定表。(我从CSV导入这个)如果我在MySql中执行DESCRIBEstudent_info,它会显示:+--------+-------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+--------+-------------+------+-----+---------+-------+|pic_id|int(11)|YES||NULL|||name|varchar(50)|YES||NULL|||hostel|varchar
这是我访问您的网站数百次后的第一篇文章。简单的问题。我有两个表,独立的,完全不同,只有一个公共(public)列。我们称之为ID_Client我不必修改这些表,但我想合并它们并在其上进行选择查询。表ACol_ID|Col1|Col2|Col3|----------|---------|---------|---------|40302025|50|60|70|40302028|50|60|70|40302030|50|60|70|40302055|50|60|70|40302074|50|60|70|表BCol_ID|ColX|ColY|ColZ|----------|--------
我好像找不到这个。也许我问错了问题。我的数据库中的第一个字段是一个ID,其INT设置为自动递增。当我创建一个新条目时,我想获取创建的ID,但我不知道如何获取。$query=mysqli_query($myConnection,"INSERTINTObooks(title,author,description)VALUES('$title','$author','$description')")ordie(mysqli_error($myConnection));echo'OperationCompletedSuccessfully!ClickHere';//HEREIWOULDALSO
我使用mysql数据库自动递增作为订单ID。当我向用户显示订单ID时,我想以某种方式屏蔽/混淆它。为什么?所以乍一看,管理员用户很明显是什么号码指的是(订单以10开头,客户以20开头等)乍一看,这只是我的第4个订单。基于此thisanswer,我希望屏蔽/混淆的订单ID为:只有数字一致的长度(如果可能的话)不会引起碰撞是可逆的,这样我就可以解码它并获得原始ID我如何在PHP中实现这一点?它不必非常复杂,乍一看并不明显。 最佳答案 我认为您可以使用XOR运算符来隐藏“乍一看”,例如(MySQL示例):(id*121)^2342323其
无论如何,是否可以在PHP中生成独特的识别,从不重复。我知道uniqid();但是我需要大约8个字符的东西,这些字符永远不会被重复。问候,贾罗德看答案您也可以尝试这样的事情:每当您生成插入查询时,它就会为您提供串行ID(自动插入)。然后,您将添加100000*5(+'your_auto-incremented_id')。这个值始终是唯一的。我希望这种逻辑能帮助您:)
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion如何从特定ID开始SQL查询...id|name|------------1|Joe|2|Craig|3|Shawn|4|Ryan|5|Seth|我想从ID3开始$strSQL="SELECT*FROMtable_nameWHEREid>=3";感谢您的帮助!
我有一个名为records的MySQL表。以下是其内容。idrecord_idData1Data2Time11null11/1/16211null1/3/16312null1/4/1641null31/5/16521null2/1/16621null2/3/16727null2/4/1682null52/5/16我想要一个MySQL查询来检索每个record_id的每个列的最后一个非空记录。结果看起来像;record_idData1Data2Time1231/5/162752/5/16这个问题的棘手部分是涉及多个列。 最佳答案 SE
我有一个id即主键和自动递增。是否有任何查询来更新我现有的id并使我的id从1开始,下一个id2等等..例如idname3ABC5XYZ9PQR注意:id已经是主要的和自动递增的,我不想截断我的id。如果可能我想得到idname1ABC2XYZ3PQRALTERTABLEtableAUTO_INCREMENT=1;不是我的解决方案。谢谢 最佳答案 当然有办法:set@counter=0;updatetable_namesetid=(@counter:=@counter+1);编辑为避免重复键的问题,您可以在将当前ID临时更改为负等价