0

我这里有点情况。如果在我的“会话”表中的数据库中,如果我有以下数据:

SessionId

C

然后我的代码发生的情况是,当用户生成一个新字符串时它不会显示上面的字符串,因为它已经在数据库中。这很好用,例如上面

我遇到的问题是,如果我有多个会话(考试),那么在下面的数据库中,它将在数据库中显示如下字符串:

SessionId

C1
C2
C3

以上是3次考试。但问题是字符串“ADERF”仍然可以在下面的代码中生成。我的问题是,如果字符串末尾有一个数字,如上表,那么我怎么能不生成仍在数据库中的字符串?字符串总是 5 个字符长:

4

2 回答 2

1

如果您希望为每个会话/考试提供自己的 id(并且当它们发生冲突时不必担心头痛),请尝试使用GUID几乎没有碰撞的机会。

于 2012-11-01T00:48:49.840 回答
0

将您的查询更改为:

$result = "SELECT SessionId FROM Session WHERE SessionId LIKE CONCAT(?, '%')";
于 2012-11-01T01:04:28.083 回答