Php Mysqli使用自动增量插入到多个表中

Php Mysqli使用自动增量插入到多个表中,php,sql,mysqli,Php,Sql,Mysqli,您好,我尝试使用mysqli从第一个表中获取autoincrement id,然后插入到第二个表中,这是我为每个表设计的数据库 表用户 id_user PK auto-inc username password nama role status 表siswa id_siswa PK auto-inc id_tingkatan nama_siswa jk_siswa hp_siswa nama_ortu jk_ortu hp_ortu

您好,我尝试使用mysqli从第一个表中获取autoincrement id,然后插入到第二个表中,这是我为每个表设计的数据库

表用户

  id_user  PK auto-inc
  username 
  password
  nama
  role
  status
表siswa

  id_siswa PK auto-inc
  id_tingkatan 
  nama_siswa
  jk_siswa
  hp_siswa
  nama_ortu
  jk_ortu
  hp_ortu
  id_user 
这就是我尝试过的

$query = "INSERT INTO users
                        (username, password, nama, role, status) 
                 VALUES ('$name','$password','$nama','$role','$status')";
$koneksi->query($query);

$query = "INSERT INTO siswa
                        (id_tingkatan, nama_siswa, jk_siswa, hp_siswa, 
                         nama_ortu, jk_ortu, hp_ortu, id_user) 
                 VALUES ('$tingkatan','$nama','$jksiswa','$hpsiswa',
                         '$namaortu','$hportu', $koneksi->insert_id)";
$koneksi->query($query);

数据插入到用户表中,但不插入到siswa表中,对此有何建议


编辑:仅忽略变量($jkortu)现已修复,感谢在后一插入中,第一个逗号列表中的项目数与第二个逗号列表中的项目数不一致。这将引发语法错误。

您缺少一个参数

您应该始终测试mysql错误,否则它将无声地失败,并且您不知道发生了什么:

if (!$server->query($query)) {
  throw new Exception($server->error());
}

那么,错误是什么?您可能在第二个查询中缺少
jk_ortu
字段的值。数据插入到用户表中,但不插入到siswa表中,它不会给出任何错误output@JigarShah谢谢你提起,我没注意到,将立即尝试代码一点合理的格式设置使bug更容易找到-仅当使用过程样式
mysqli\u insert\u id()
且OP问题中的
$server
在哪里时才使用函数