SQL,如何从以前的INSERT中获取自动ID?

时间:2017-11-30 18:21:51

标签: php sql insert auto-increment

我正在使用PHPSQL并尝试在注册时将用户数据插入两个表中。首先是user_table,第二个是character_table。我使用自动生成user_id链接表,需要从第一个user_id获取INSERT (into user_table)的值,然后将其添加到{{1}中的列}}

我尝试了几种方法,这里是我结束的地方(上面定义了$ username,$ email,$ password和$ character);

character_table

我想" id"从user_table到" id"插入到character_table。

当我执行上述操作时,似乎没有任何事情发生。以前的尝试我总是以id = 0结束。我可以从第一个INSERT中获取ID的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

  1. 单独运行您的陈述。您将插入内容放入user_table,然后抓住id,然后将插入内容放入character_table
  2. 运行插入后,您可以使用id抓住mysql_insert_idNote that on the php webpage详细说明了所有mysql_insert_id函数所禁用的mysql*函数。这导致......
  3. 为了爱一切,不要将你的变量直接连接到你的INSERT语句。如果您还没有使用准备好的语句(参数化查询),请切换到mysqli *函数或PDO。如果使用mysql构建应用程序,则意味着您没有参数化查询,这意味着您将面临SQL注入攻击的巨大风险。
  4. 如果/当您切换到mysqli或PDO函数时,您会发现等效的mysqli_insert_id()(或PDO::lastInsertID())函数