注意:数组到字符串转换。代码

时间:2017-02-18 12:37:04

标签: php mysql

问题= 在我的代码中我从数据库中获取一个人的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,那就完美了。

1 个答案:

答案 0 :(得分:2)

$patientRow = mysqli_fetch_assoc($patientid); $patientId = $patientRow['id']; 返回一个关联数组,其中选定字段为键,列值为值。

您应该按如下方式修改代码

while ($patientRow = mysqli_fetch_assoc($patientid)) {
    $patientId = $patientRow['id'];
    // other actions here
}

请记住,对于非唯一结果,您应该遍历整个结果集,如

$naam

最后但同样重要的是,请注意$naamcatch:使用prepared statement代替肯定会更安全