我的表有四个字段,其中两个字段是唯一的。例如,它们是用户名和电子邮件。人们在前端注册。我使用 ajax 动态显示他们的注册结果。
我正在做一个插入查询。如果有错误,那么我使用错误号来查找它是 1062(重复条目)还是 1064(查询字符串错误),否则用户已成功注册。
如果用户无法注册,那么我会以用户友好的方式显示原因。如果有重复,那么我必须显示用户名已经存在或电子邮件已经存在。
这里的重点是我不想使用选择查询来查看用户名或电子邮件是否已经存在,如果不存在则执行插入查询。
如果我像上面那样做,则必须执行两个查询。我只想运行一个查询,并在错误号和错误消息的帮助下,我想准确地向用户显示错误的类型。
现在问题在于重复性。
我发现它是重复的,我有这样的错误字符串
密钥“电子邮件”的重复条目“test@gest.com”或密钥“用户名”的重复条目“测试”
我想使用 strpos 来查找字段名称,以便我可以向用户显示电子邮件已经存在或用户名已经存在。
但在某些服务器中我会这样
键 2 的重复条目“test@gest.com”或键 3 的重复条目“测试”
在这种情况下,我需要做一个正则表达式来提取最后一部分,如果它是一个字符串,我会做一个 strcmp 来确定哪个字段是重复的,我会相应地向用户显示错误,或者它是一个数字,那么我需要一个简单的 switch 语句来确定哪个字段有重复项。
**
那么,如果表中有更多唯一字段,还有其他方法可以获取哪个字段重复。
** 或者如果没有,那么我只是想把这个问题放在人们的脑海中,这样如果他们已经为此做了一个噱头,那么他们可以在这里分享,这样像我这样的人就会受益。谢谢你。