prepared statements pdo zonder argumenten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Front-end developer wanted! (Angular, React, Vue.j

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze

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

24/04/2024 09:59:51
 
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.