JSON Array to Query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Zwolly Wood

Zwolly Wood

28/10/2019 16:15:54
Quote Anchor link
Hallo allen,

Ik heb:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$someArray
= json_decode(file_get_contents("php://input"), true);
?>


Deze array is bijvoorbeeld;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
(
    [0] => Array
        (
            [number] => 1
            [ledger] => Grootboekrekening 1
            [project] => project 1
            [relation] => relatie
            [debit] => 100
            [credit] => 100
            [tax] => 20
            [date] => 2019-19-10
            [postingdate] => 2019-19-10
            [description] => omschrijving
            [period] => periode
            [id] => DE2A0B8D-E6A2-B6E3-6618-F1FDBF76DE87
        )

    [1] => Array
        (
            [number] => 1
            [ledger] => Grootboekrekening 2
            [project] => project 2
            [relation] => relatie
            [debit] => 100
            [credit] => 100
            [tax] => 20
            [date] => 2019-19-10
            [postingdate] => 2019-19-10
            [description] => omschrijving
            [period] => periode
            [id] => AE2992D0-11DC-FFB4-1AD5-3E694CC6EEA4
        )

)

Nu wil ik deze array omzetten naar sql en in de database plaatsen doormiddel van;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
foreach ($someArray as $key => $value) {

$query = "INSERT INTO journal (number, ledger, project, relation, debet, credit, tax, date, postingdate, description, period, Id) VALUES ('"$value['number']"','"$value['ledger']"','"$value['project']"','"$value['relation']"','"$value['debet']"','"$value['credit']"','"$value['tax']"','"$value['date']"','"$value['postingdate']"','"$value['description']"','"$value['period']"','"$value['Id']"')";

$statement = $connect->prepare($query);
        $statement->execute();
        $query = "";
}

?>


Nu krijg ik in mijn console de volgende melding;
Quote:
<b>Parse error</b>: syntax error, unexpected '$value' (T_VARIABLE) in.

Iemand een idee hoe ik dit kan oplossen??

Alvast bedankt mocht iemand reageren.

Edit:
Code-tags geplaatst in het bericht. Gelieve dit voortaan zelf te doen.
Zie ook de opmaak-codes in de Veel Gestelde Vragen.
Alvast bedankt
Gewijzigd op 29/10/2019 13:08:03 door - Ariën -
 
PHP hulp

PHP hulp

25/11/2024 14:58:35
 
Michael -

Michael -

28/10/2019 16:22:04
Quote Anchor link
Misschien kun je hier iets mee?
 
Adoptive Solution

Adoptive Solution

28/10/2019 16:30:58
Quote Anchor link
Moeten er geen puntjes tussen de variabelen?

VALUES ('" . $value['number'] . "','" . $value['ledger'] . etc ...
 
Zwolly Wood

Zwolly Wood

28/10/2019 16:31:51
Quote Anchor link
Jazeker, opgelost, bedankt voor de hulp!
Gewijzigd op 28/10/2019 16:32:07 door Zwolly Wood
 
- Ariën  -
Beheerder

- Ariën -

28/10/2019 16:32:26
Quote Anchor link
Gelukkig hebben we ook code-tags.
Kan je die toevoegen aan je code? Zie ook de opmaakcodes in de Veelgestelde Vragen.

Verder een tipje:
Je kan je SQL-query ook in stukken hakken met enters, dan heb je een mooi overzicht over het gebruik van de quotes.
Gewijzigd op 28/10/2019 16:33:34 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

28/10/2019 16:56:32
Quote Anchor link
Zorg ook dat je je waarden escaped.

Ook loont het de moeite om dit in een transactie te zetten.

Stel dat de data ergens halverwege een quote in een omschrijvingsveld heeft of wat dan ook. Dan breekt je import en heb je de halve batch (vrij vertaald: stront) in je database zitten.

En dan ehm... Wacht eens even.

Je maakt hier gebruik van prepared statements, en ook weer niet, want je plakt gewoon de waarden in de querystring. Dat is echt NIET de bedoeling van prepared statements.

Wat jij hier doet is equivalent met vloeken in de kerk... Snap je het principe van prepared statements?
 
Zwolly Wood

Zwolly Wood

28/10/2019 21:15:03
Quote Anchor link
Bedankt voor de reactie allen. Dit is mijn eerste 'projectje' en probeer alles überhaupt werkend te krijgen :). Ik ga me verder verdiepen in transacties en prepare statements
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.