2017-02-18 1 views
0

das Problem = in meinem Code bekomme ich die ID einer Person aus der Datenbank, dann hole ich es und dann lege ich es auf eine andere Tabelle in der Datenbank. so das erste bekomme ich die ID aus der Datenbank:Hinweis: Array zu String-Konvertierung. ohne Array im Code

$patientid = mysqli_query($connection, "SELECT id FROM patient WHERE  `naam` = '$naam' AND `adres` = '$adres'"); 

dann hole ich es:

$patientid1 = mysqli_fetch_assoc($patientid); 

dann habe ich es in einer anderen Tabelle:

$toevoegen = mysqli_query($connection, "INSERT INTO factuur (`soort`, `hoelang`, `titel`, `omschrijving`, `datum_aangemaaktfactuur`, `patient_id`, `artsid`) 
     VALUES ('$soort', '$hoelang', '$titel', '$omschrijving', '$datum', '$patientid1', '$artsid1')"); 

dann, wenn ich Führen Sie den Code ich bekomme diese Notiz: Beachten Sie: Array zu String-Konvertierung. Wie löse ich das? Ich habe mir andere Fragen angeschaut, aber sie haben den gleichen Fehler, aber einen anderen Code. Ich habe nicht einmal ein Array in meinem Code! danke

ps: wenn ich $ patientid1 durch eine Zahl ersetzen, funktioniert es perfekt.

+0

Sie müssen '$ patientid1 ['id']' –

+1

verwenden Bitte benutze diesen Code nicht. Es ist offen für alle Arten von Injektionen. – Oliver

+0

@Oliver Ich bin neu hier, wir werden lernen, im nächsten Jahr sicher zu programmieren. –

Antwort

2

mysqli_fetch_assoc gibt ein assoziatives Array mit ausgewählten Feldern als Schlüssel und Spaltenwerte als Werte zurück.

Sie sollten Code wie folgt ändern

$patientRow = mysqli_fetch_assoc($patientid); 
$patientId = $patientRow['id']; 

Denken Sie daran, dass für nicht eindeutige Ergebnisse sollten Sie über ganze Ergebnis iterieren gesetzt wie

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

Last but not least, achten Sie auf $naam und $naam : Verwenden Sie prepared statement stattdessen wird definitiv sicherer

+0

danke, es funktioniert! –

Verwandte Themen