问题= 在我的代码中我从数据库中获取一个人的id,然后我获取它然后我把它放在数据库中的另一个表。 所以首先我从数据库中获取id:
$patientid = mysqli_query($connection, "SELECT id FROM patient WHERE `naam` = '$naam' AND `adres` = '$adres'");
然后我拿到它:
$patientid1 = mysqli_fetch_assoc($patientid);
然后我把它放在另一张桌子里:
$toevoegen = mysqli_query($connection, "INSERT INTO factuur (`soort`, `hoelang`, `titel`, `omschrijving`, `datum_aangemaaktfactuur`, `patient_id`, `artsid`)
VALUES ('$soort', '$hoelang', '$titel', '$omschrijving', '$datum', '$patientid1', '$artsid1')");
然后当我运行代码时,我得到了这个通知:注意:数组转换为字符串。 我该如何解决这个问题?我看过其他问题,但他们有相同的错误,但代码不同。我的代码中甚至没有数组! 感谢
ps:如果我用一个数字替换$ patientid1,那就完美了。
答案 0 :(得分:2)
$patientRow = mysqli_fetch_assoc($patientid);
$patientId = $patientRow['id'];
返回一个关联数组,其中选定字段为键,列值为值。
您应该按如下方式修改代码
while ($patientRow = mysqli_fetch_assoc($patientid)) {
$patientId = $patientRow['id'];
// other actions here
}
请记住,对于非唯一结果,您应该遍历整个结果集,如
$naam
最后但同样重要的是,请注意$naam
和catch
:使用prepared statement代替肯定会更安全