prepared statements pdo zonder argumenten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end PHP Software Developer - Juniorfunctie

Functieomschrijving Wij zijn op zoek naar een PHP Software Developer om ons team te versterken en mee te werken aan de ontwikkeling van eigen IOT-oplossingen. In deze functie ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor het uitlezen en managen van sensoren in machines. Je werkt nauw samen met een team van ontwikkelaars en engineers om de beste software-oplossingen te creëren. Jouw werkzaamheden zien er als volgt uit: Je bent in deze rol verantwoordelijk voor het ontwerpen, ontwikkelen en onderhouden van webapplicaties en softwaretoepassingen voor in-house ontwikkelde IOT oplossingen. Je werkt aan complexe databases en back-end

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 »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

Medior Java developer

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

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 »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

SAP ABAP Developer

Dit ga je doen Software ontwikkeling met behulp van o.a. ABAP, Sapscript en Smartforms Maatwerk development op SAP ECC 6.0, in de toekomst S/4 HANA Samenwerken met Business Analisten die functioneel en technisch ontwerpen aanleveren Testen van opgeleverde software Bugfixing Ondersteuning van eindgebruikers Hier ga je werken Onze klant, een internationaal gevestigd productiebedrijf dat mensen blij maakt, is ter versterking op zoek naar een ABAP Developer voor hun SAP team. Het team van 4 mensen verzorgt de ontwikkeling van maatwerk voor de SAP omgeving waar wordt gewerkt met modules SD, FI/CO, PM en MM. Momenteel draait het bedrijf op SAP

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

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

13/05/2024 16:00:37
 
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.