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 »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

Software developer (Python)

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 houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

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 »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

Low code Developer

Dit ga je doen Je richt je op het doorontwikkelen van bestaande applicaties en het geheel van scratch af aan opzetten van nieuwe applicaties binnen een low code platform; Je beoordeelt technisch ontwerpen en maakt de vertaalslag naar de technische oplossingen binnen het platform; Je voert testwerkzaamheden uit; Je adviseert de organisatie op jouw vakgebied; Je schakelt met business analisten en de architect om tot mooie oplossingen te komen; Je lost bugs op en denkt mee over een structurele oplossing. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

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 »

.NET developer

Functie Als senior .NET ontwikkelaar en aankomend lead developer ben jij in één van de drie development teams verantwoordelijk voor het volgende: • Jij hebt een oogpunt op modernisering en bent verantwoordelijk voor de technische staat en architectuur van de applicatie; • Jij bent verantwoordelijk voor het reviewen van de technische haalbaarheid van verschillende onderwerpen; • Jij bent verantwoordelijk voor een goede aansluiting binnen het multidisciplinaire team en de bijbehorende taken; • Jij bent verantwoordelijk voor het aandragen van verbetervoorstellen en ontwikkelstandaarden in zowel de techniek als architectuur; • Jij bent meewerkend voorman en ondersteunt en coacht jouw team op

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

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

01/01/2025 20:32:38
 
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.