如何在php中的mysql_insert_id()中返回1?

时间:2015-08-10 16:59:34

标签: php mysql

这里的逻辑错误是var t = {foo: 1, bar: 2}; 始终从0开始,我希望它从1开始增加,依此类推。我想知道为什么它会给我一个错误:重复输入' 0'关键' PRIMARY'。我不想复制我想要添加的密钥。 例如。 1 2 3 4。

这是我的代码:

mysql_insert_id()

1 个答案:

答案 0 :(得分:4)

你似乎误解了what mysql_insert_id() actually does

它不会为您在下一步查询中生成ID。它会在 last 查询中告诉您 MySQL生成的ID。所以......

  1. 如果您的表格没有使用自动生成的ID,则数据库没有生成的ID返回。
  2. 您在插入任何内容之前都要求生成的ID。
  3. 如果您使用的是手动ID,那么您的应用程序就有责任生成一个独特的ID。如果您正在使用数据库生成的ID,则从INSERT语句中删除该ID,并在生成之后从数据库中获取ID。

    另外,请注意,您的代码 SQL injection vulnerabilities 开放。