【发布时间】:2016-05-28 09:12:06
【问题描述】:
我在 3 个文件中制作了 2 个表格:loginMHS.php、inputPerwalian.php、insertMataKuliah.php。
我在数据库中有 4 个表:mahasiswa、matakuliah、kelas、mahasiswa_kelas。
mahasiswa 表有这些字段:
nrp | nama | pass | jatah_sks | foto_profil
matakuliah 表有这些字段:
kode_mk | nama | jumlah_sks | deskripsi
kelas 表有这些字段:
kode_kelas | kode_mk | kode_periode | nama_kelas
mahasiswa_kelas 表有这些字段:
nrp | kode_kelas
首先,loginMHS.php 出现了。它有一个表单,该表单的输入存储在 var $nrp(来自 mahasiswa 表)中。登录后,inputPerwalian.php 出现了。它也有一个表单,它的输入存储在 var $kodeMK(来自matakuliah 表)和$namaKelas(来自kelas 表)中。然后,输入将被插入到表mahasiswa_kelas。
这是我的代码(输入无法存储到 DB,但它没有显示错误):
$sql = "select kode_kelas from kelas inner join mahasiswa_kelas"
. " on kelas.kode_kelas = mahasiswa_kelas.kode_kelas"
. " where nama_kelas=" . $namaKelas;
$result = mysqli_query($link, $sql);
$sql2 = "insert into mahasiswa_kelas (nrp, kode_kelas)"
. " values ($nrp, $result)";
$result2 = mysqli_query($link, $sql2);
$row2 = mysqli_fetch_array($result2);
我不知道如何插入它,而输入的数据来自另一个表。因为,据我所知,我不能在插入查询中使用内连接。如何解决?请解释你的答案。谢谢
【问题讨论】:
-
mahasiswa_kelas 表中kode_kelas 的类型是什么?用 var_dump 查看 mysqli_query 返回到 $result 的内容。
-
@NicholasAlexander 类型是 int
-
mysql_query 应该在错误(即 int)或可用于获取结果的资源时返回 FALSE:请参阅 php.net/manual/en/mysqli.quickstart.statements.php - 我认为您被返回的错误条件绊倒了,但我强烈鼓励理解才是真正的答案。
标签: php mysql database sql-insert