prepared statements pdo zonder argumenten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Medior/Senior Python developer (Django)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en werken ze met pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Er is een kwaliteitsfocus en dan biedt ruimte om verbeteringen echt door te voeren binnen de gehele

Bekijk vacature »

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

SQL developer

Functieomschrijving Voor een erkende werkgever in de omgeving van Tilburg zijn wij op zoek naar een ervaren SQL ontwikkelaar. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt er als volgt uit te zien: Het ontwerpen en implementeren van databaseschema's: Je bent in staat om een database te ontwerpen en de structuur van tabellen, relaties, indexen en andere objecten te definiëren; Het schrijven van complexe SQL-query's: Je kunt complexe query's schrijven om gegevens uit de database

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer!? Sta jij aan het begin van jouw loopbaan of heb jij misschien al enige ervaring? Vind jij het daarnaast belangrijk om jezelf constant te kunnen ontwikkelen en uitdagen? Lees dan snel verder! Voor een vooraanstaand softwarehuis in Nieuwegein ben ik op zoek naar een Junior Software Developer. De eigenaar van het bedrijf is ervan bewust dat je als junior nog een hoop kan leren, waardoor je de eerste maanden veel begeleiding en diverse trainingen krijgt. Daarna ga je samen met je collega's aan zowel kleine als grote projecten werken.

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

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

28/11/2024 00:37:24
 
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.