prepared statements pdo zonder argumenten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

C#.NET ontwikkelaar

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

.NET Developer te Naarden

Bedrijfsomschrijving Voor mijn klant ben ik op zoek naar een .NET Developer om het huidige team te komen versterken. Deze organisatie bevindt zich in de logistieke sector, en zij hebben een eigen ERP systeem ontwikkeld dat zij inzetten ter optimalisatie van de logistieke processen van haar eindklanten. Deze organisatie bestaat inmiddels al ruim 20 jaar, waarbij zij een duidelijke missie hebben, namelijk: het werk van de eindklant makkelijker maken door de systemen die zij leveren. Ze werken over heel de wereld, wat deze organisatie een echte internationale speler maakt. Binnen de organisatie kenmerken ze zich door een dynamische en professionele

Bekijk vacature »

.NET developer

Functie Als .NET developer werk jij samen in een multidisciplinair ontwikkel team met 1-2 Senior .NET developers, twee front-end developers, Data Scientists en één UX designer. Als team werken jullie aan het ontwikkelen van een Cloud based applicatie en aan het stabieler maken van deze applicatie. Ook unit testing gaat erg belangrijk worden in jouw nieuwe functie. Samen met de Senior .NET ontwikkelaar wordt jij verantwoordelijk voor het ontwikkelen van de API. Jullie werken met veel data en incidenteel komen er ook data vraagstukken en zullen er wat queries gedraaid moeten worden. Dit betekend dat jij veel gaat werken met

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Software Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »
Jeroen VD

Jeroen VD

21/04/2012 22:49:05
Quote Anchor link
In PDO is het gebruik om altijd prepared statements te gebruiken. Maar ook wanneer je geen argumenten gebruikt? Dan zijn er ook geen argumenten om op te geven, en zal je volgens php net een false terugkrijgen bij de execute() method. En loopt de boel in de soep. Maar wat gebruik ik dan in zo'n geval? Het gaatoverigens om een select query zonder where clause
 
PHP hulp

PHP hulp

16/05/2024 06:28:12
 
Ozzie PHP

Ozzie PHP

21/04/2012 22:54:11
Quote Anchor link
Je kunt ook een query executen zonder argumenten toch? Wat bedoel je precies?
 
Jeroen VD

Jeroen VD

21/04/2012 23:04:28
Quote Anchor link
Zoals ik php net begrip moeten er of parameters worden gebind, of argumenten als array met execute() meegeven. Anders krijg je false terug. Maar ik heb geen parameters. Ik heb een simpele select query die gewoon de hele tabel moet ophalen, dus geen parameters. Maar hoe moetik dan nu een prepared statement gebruiken?
 
Ozzie PHP

Ozzie PHP

21/04/2012 23:19:20
Quote Anchor link
Als je geen argumenten hebt gebruik je geen prepared statement en dan kun je gewoon query() gebruiken ipv execute().
 
Jeroen VD

Jeroen VD

21/04/2012 23:25:08
Quote Anchor link
Ok, maar stel dat je die query vaker achter elkaar zou willen uitvoeren? (niet dat ik dat wil)
 
Ozzie PHP

Ozzie PHP

21/04/2012 23:28:17
Quote Anchor link
Dat is geen reële situatie... want je gaat niet exact dezelfde query meerdere keren uitvoeren. Dit is dus nooit aan de orde (of je doet iets fout).

Die prepared statements gebruik je wanneer je dezelfde query meerdere keren wilt uitvoeren, maar met verschillende argumenten.

Toevoeging op 21/04/2012 23:29:34:

Je kan ook prepared statement gebruiken om maar 1 query uit te voeren overigens. Door een prepared statement te gebruiken vergroot je de veiligheid.
 
Jeroen VD

Jeroen VD

21/04/2012 23:33:01
Quote Anchor link
Ja dat is waar natuurlijk... Ik gebruik ze meestal ook alleen maar voor de veiligheid
 
Jelmer -

Jelmer -

22/04/2012 10:54:42
Quote Anchor link
Waar op php.net zie je staan dat je dan false terugkrijgt? Dit voorbeeldje (dit is toch versimpeld waar je het over hebt?) werkt bij mij prima:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$pdo
= new PDO('sqlite:var/articles.sqlite');
$stmt = $pdo->prepare("SELECT * FROM articles");
assert($stmt->execute() === true);
?>
 
Ozzie PHP

Ozzie PHP

22/04/2012 12:58:10
Quote Anchor link
Ik heb al even op php.net gekeken maar ik word er niet echt wijzer van. Wat doet die assert() functie precies i het voorbeeld van Jelmer? Het is de 1e keer dat ik die functie tegenkom.
 
Wouter J

Wouter J

22/04/2012 13:23:31
Quote Anchor link
Ik ken assert ook niet, maar als ik zo snel kijk is het een functie die kijkt of het geen erin staat waar is.

Dit wordt veel gebruikt in Unit Testing en is veel beter uitgebreid in klassen als PHPunit. Als $stmt->execute() === true niet waar is zal de assert functie false returnen, in alle andere gevallen true.
 
Jeroen VD

Jeroen VD

22/04/2012 13:47:08
Quote Anchor link
@jelmer, bij de PDO execute() method

@wouter, maar dat is dan toch een omweg om execute() heen? execute() zal een set resultaten teruggeven wanneer de ingegeven waarden waar zijn, en anders false. of zie ik dat verkeerd?
 
Jelmer -

Jelmer -

22/04/2012 14:01:21
Quote Anchor link
Wouter J op 22/04/2012 13:23:31:
Dit wordt veel gebruikt in Unit Testing en is veel beter uitgebreid in klassen als PHPunit. Als $stmt->execute() === true niet waar is zal de assert functie false returnen, in alle andere gevallen true.


assert geeft een aanname aan, en zit in bijna alle programmeertalen. Je kan ze overal in je code zetten waar je uitgaat van iets (zoals ik hier ervan uit ga dat execute() true zal teruggeven) Zodra die aanname niet opgaat, (execute() geeft niet true terug) stopt PHP met een fatale fout. (En zodra je denkt dat al die aannames testen teveel tijd kost, zet je assert() uit met assert_options)

Trouwens werkt assert beter wanneer je je code als string meegeeft. Op die manier kan PHP beloven het alleen uit te voeren wanneer je assertions testen niet uit hebt gezet, en je krijgt mooi de regel code die fout ging in je foutmeldingen :)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
assert('$stmt->execute() === true');
?>


@Wouter:
PDOStatement::execute geeft alleen true of false terug, afhankelijk of de query is gelukt of niet (tenzij je PDO zo geconfigureerd hebt dat het exceptions gooit, dan zal hij nooit toekomen aan het retourneren van false) Wil je bij de resultaten komen, dan gebruik je PDOStatement::fetch of PDOStatement::fetchAll.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

$stmt
= $pdo->prepare("SELECT * FROM articles");
$stmt->execute();

foreach ($stmt->fetchAll() as $article)
    echo $article['title'] . "<br>\n";
?>
Gewijzigd op 22/04/2012 14:01:50 door Jelmer -
 
Ozzie PHP

Ozzie PHP

22/04/2012 18:17:48
Quote Anchor link
Ik zal wel even iets over het hoofd zien... maar wat is het verschil tussen assert en if? Je kan toch gewoon met een if iets controleren?
 
Jelmer -

Jelmer -

22/04/2012 21:33:09
Quote Anchor link
assert laat PHP stoppen als de expressie die erin staat niet naar true evalueert. Je kan er inderdaad ook if-statements voor gebruiken, maar dan moet je zelf de 'else'-case nog afvangen en een melding tonen, en kan je de statements niet gemakkelijk uit zetten door assert uit te schakelen.

Het is echt puur iets om aannames in je code op te nemen en te testen. Je moet het dus niet gebruiken om te testen of je query gelukt is, maar bijvoorbeeld in een grote formule om te controleren of waarden van variabelen in de door jou verwachte bereiken liggen (dat je niet per ongeluk door iets negatiefs deelt bijvoorbeeld, of de wortel van een negatief getal probeert te trekken) Zie ook http://en.wikipedia.org/wiki/Assertion_(computing)
Gewijzigd op 22/04/2012 21:41:34 door Jelmer -
 
Ozzie PHP

Ozzie PHP

22/04/2012 21:53:10
Quote Anchor link
Ah, oké... thanks voor de toelichting!
 
Jeroen VD

Jeroen VD

22/04/2012 22:07:10
Quote Anchor link
Maar jelmer, php helemaal laten stoppen als iets is wat jij niet verwacht? Ik zou zeggen dat je beter voor die formule kunt testen en afvangen, en dan pas evt de formule toepassen
 
Jelmer -

Jelmer -

22/04/2012 22:31:23
Quote Anchor link
Assert is ook niet om user input te testen, dat moet je nog steeds zelf doen. Het is om je eigen programmeren te testen, om te bevestigen dat je het goed had. Zo was ik bijvoorbeeld net even bezig met een image resize scriptje, en heb daar wat assert-statements in gezet die o.a. testen dat je 'verkleinde' plaatje nooit groter is dan het origineel. Logisch zou je zeggen, maar blijkbaar heb ik ergens een foutje in m'n scriptje zitten want hij stopt op dat assert-statement. Nu weet ik dat het mis gaat, ik moet alleen nog even opsporen waarom het mis gaat.

Dit zou dus iets zijn waar ik normaal gesproken niet op zou testen, omdat ik verwacht dat het klopt. Maar door al m'n aannames, m'n verwachtingen toch met assert-statements in de code op te nemen zie ik dat ik ergens een foutje heb gemaakt.
Gewijzigd op 22/04/2012 22:32:34 door Jelmer -
 
Jeroen VD

Jeroen VD

22/04/2012 22:34:41
Quote Anchor link
Ja dat is inderdaad wel handig ja... Maar is het daarna niet beter om al die asserts eruit te halen, vanwege geheugenefficientie?
 
Wouter J

Wouter J

22/04/2012 23:02:46
Quote Anchor link
Jelmer, kun je dan niet veel beter gaan werken met TTD en dan doormiddel van unit tests je code opbouwen? Dat lijkt me toch stukken beter dan her en der in je code wat 'verwachtingen' te proppen?
 
Jelmer -

Jelmer -

23/04/2012 12:14:17
Quote Anchor link
Jeroen vd op 22/04/2012 22:34:41:
Ja dat is inderdaad wel handig ja... Maar is het daarna niet beter om al die asserts eruit te halen, vanwege geheugenefficientie?

Als je ze uit zet worden ze ook niet uitgevoerd. Je zal ze niet merken.

Wouter J op 22/04/2012 23:02:46:
Jelmer, kun je dan niet veel beter gaan werken met TTD en dan doormiddel van unit tests je code opbouwen? Dat lijkt me toch stukken beter dan her en der in je code wat 'verwachtingen' te proppen?

Voor iets simpels als een resize-algoritme? Wat een boel extra werk!
 



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.