Mysqli вставить в несколько таблиц с автоинкрементом - PullRequest
0 голосов
/ 25 апреля 2018

привет, я попытался использовать mysqli для извлечения идентификатора автоинкремента из первой таблицы, чтобы вставить его для второй таблицы, это мой дизайн базы данных для каждой таблицы

Пользователи таблицы

  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, какие-либо предложения, чтобы это исправить?

edit: только пропущенная переменная ($ jkortu) исправлена, спасибо

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Вам не хватает параметра.

Вы должны всегда проверять наличие ошибок mysql, иначе это произойдет автоматически, и вы не знаете, что происходит:

if (!$server->query($query)) {
  throw new Exception($server->error());
}
0 голосов
/ 25 апреля 2018

В последнем INSERT, количество элементов в первом commalist не соответствует количеству элементов во втором commalist.Это должно привести к синтаксической ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...