草庐IT

php - 生成唯一 ID

我正在研究生成唯一ID的函数-我的具体要求是唯一ID只能是8位数字。无论如何,我刚刚意识到我们可以将ID自动递增字段设置为从任何数字开始。所以假设我从11111111开始——我认为所有新记录都将从这个值开始递增吗?如果是这样,那么我就有了我唯一的8位ID,不需要为此使用函数。而且,如果记录被删除,那么新记录是否会重新使用已删除的ID? 最佳答案 没错。如果您的自动编号列从11111111开始,那么您的下一行的编号将为11111112。删除记录后,不会重新使用其自动编号。编辑:关于最大值,这取决于您选择的列类型。来自MySQL文档:U

MySQL:id号自增不一致

我想知道您是否遇到过当您在phpMyAdmin上单击“浏览”按钮时自动递增的ID编号未按正确顺序排列的问题-只有我这样吗?我在数据库表中设置不正确的东西?比如,当你在一个表中插入了一系列的数据,同时又删除了一些数据,那么当你在phpMyAdmin上查看这个表时,这些数据应该是按照这样的顺序出现的,id22428296300但在我的大多数表格中,它们并没有按顺序出现,而是以这样的方式出现,id24300229628如下图所示,我们可以做些什么来让ID以正确的顺序出现吗?编辑1:我想你们中的大多数人都误解了我在这里突袭的问题。我的意思是当您单击phpMyAdmin上的浏览​​器按钮以列出表

php - 是否总是需要向用户隐藏 mysql 生成的 id?

向用户显示由数据库自动递增的实际ID是否存在安全风险?你能举一些实际的例子来说明人们可以用它做什么危险吗? 最佳答案 不,它在许多情况下使用。如果您的网站以其他方式存在漏洞,比如SQL注入(inject)或XSS,他们可能会使用该ID来做一些有害的事情。但永远不要单独使用ID。只需查看您在SO的个人资料,您的ID就是243414 关于php-是否总是需要向用户隐藏mysql生成的id?,我们在StackOverflow上找到一个类似的问题: https://s

mysql 按日期排序得到 10 个结果然后再次按 id 排序

在我目前的方法中,我在sql查询中使用orderbydate,然后将backresults设置为一个新数组,通过php按id对数组进行排序。SELECT*FROMtableWHERE(MATCH(title,content)AGAINST('+$search'INBOOLEANMODE))orderbydateDESClimit0,10我想问一下,有没有sql方法,先orderbydate得到10个结果,然后在这10个结果中,再orderbyid,仅在一个sql查询中? 最佳答案 在您当前的查询周围包装一个外部查询。SELECTq.

mysql - 错误 1054, "Unknown column ' 中的 'field list' student_info.id' - Django

我有一个现有的数据库,其中包含一个包含5列和大量数据的特定表。(我从CSV导入这个)如果我在MySql中执行DESCRIBEstudent_info,它会显示:+--------+-------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+--------+-------------+------+-----+---------+-------+|pic_id|int(11)|YES||NULL|||name|varchar(50)|YES||NULL|||hostel|varchar

MySQL:从具有公共(public) ID 的不同表中进行选择

这是我访问您的网站数百次后的第一篇文章。简单的问题。我有两个表,独立的,完全不同,只有一个公共(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|----------|--------

php - 当id自动递增时回显id?

我好像找不到这个。也许我问错了问题。我的数据库中的第一个字段是一个ID,其INT设置为自动递增。当我创建一个新条目时,我想获取创建的ID,但我不知道如何获取。$query=mysqli_query($myConnection,"INSERTINTObooks(title,author,description)VALUES('$title','$author','$description')")ordie(mysqli_error($myConnection));echo'OperationCompletedSuccessfully!ClickHere';//HEREIWOULDALSO

php - 将数据库 ID 混淆为面向客户的号码

我使用mysql数据库自动递增作为订单ID。当我向用户显示订单ID时,我想以某种方式屏蔽/混淆它。为什么?所以乍一看,管理员用户很明显是什么号码指的是(订单以10开头,客户以20开头等)乍一看,这只是我的第4个订单。基于此thisanswer,我希望屏蔽/混淆的订单ID为:只有数字一致的长度(如果可能的话)不会引起碰撞是可逆的,这样我就可以解码它并获得原始ID我如何在PHP中实现这一点?它不必非常复杂,乍一看并不明显。 最佳答案 我认为您可以使用XOR运算符来隐藏“乍一看”,例如(MySQL示例):(id*121)^2342323其

如何在PHP中生成独特的ID,永远不会重复

无论如何,是否可以在PHP中生成独特的识别,从不重复。我知道uniqid();但是我需要大约8个字符的东西,这些字符永远不会被重复。问候,贾罗德看答案您也可以尝试这样的事情:每当您生成插入查询时,它就会为您提供串行ID(自动插入)。然后,您将添加100000*5(+'your_auto-incremented_id')。这个值始终是唯一的。我希望这种逻辑能帮助您:)

php - mysql - sql select 从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";感谢您的帮助!