首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据插入多个表中

问将数据插入多个表中
EN

Database Administration用户
提问于 2014-07-19 15:29:35
回答 1查看 40.1K关注 0票数 0

对于我的系统,学生需要通过填写注册表格(个人、联系方式和课程详细信息;以及用户名和密码)来创建用户帐户。

我需要通过一个表单收集注册数据,并将收集到的数据插入数据库中的两个相关表中( student表中的所有学生详细信息和users表中的登录详细信息)。

我怎样才能最好地用php编写这个代码呢?

EN

回答 1

Database Administration用户

发布于 2014-07-19 16:56:11

  • 使用米斯里或PDO库进行PHP,不要使用mysql,因为它是不推荐的
  • 使用准备好的语句:它们更干净,不太容易使用SQL注入,在某些情况下,执行速度更快。
  • 使用异常捕获整个代码的错误-query失败,查询被删除,数据库崩溃,无法连接,.
  • 如果您感到受到SQL的威胁,ORM可以帮助您构建查询,但它们并不是没有问题的。
  • 假设你想要1:1的关系,学生的id应该有一个引用user_id的外键。要在MySQL上使用外键,您需要使用InnoDB存储引擎。
  • 不能用一条语句插入两个表,因此应该使用事务。在插入第一个表之前启动一个事务,然后插入到第二个表,然后COMMIT更改。这样,这两个插入要么成功,要么都失败。事务还需要InnoDB。
  • student_id/user_id可能是唯一的任意键。您可以为该列使用auto_increment属性并执行: START TRANSACTION;INSERT (last_name,fist_name,.)值(“克雷斯波”,“Jaime”,.);在用户值中插入值(last_insert_id(),'jynus','hashedpassword','student');提交;
票数 5
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/71907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档