Concatten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer Full Stack

Functie omschrijving Developer gezocht! Ben jij een enthousiaste developer die graag wil bijdragen aan ontwikkelingen binnen een mooie organisatie? Solliciteer dan snel. Wij zijn op zoek naar een Full Stack Developer uit de regio Nijkerk die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een SaaS applicatie. Je moet beschikken over beheersing van zowel de Nederlandse als Engelse taal aangezien je samen met de klant gaat werken. Bedrijfsprofiel Je komt te werken binnen een echt familiebedrijf dat al sinds 1925 actief is binnen de FMCG branche. Het bedrijf heeft 40 medewerkers en er heerst een platte communicatiestructuur waarbij

Bekijk vacature »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

Software developer - senior

Functie omschrijving Voor een echt softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking voor de afdeling Software Development! Ben jij op zoek naar een werkgever waar meerdere software developers werken aan interessante projecten? Ben jij op zoek naar een werkgever waar je onderdeel wordt van een team dat echt passie heeft voor het ontwikkelen van software? Dan ben je hier aan het juiste adres! Als softwareontwikkelaar kom je terecht bij een onafhankelijk, door kwaliteit gedreven, doortastend en daarbij op een Agile wijze werkend bedrijf. Ben jij een expert in het vertalen van Componenten van Functionaliteit naar Business lagen?

Bekijk vacature »

.NET developer

Functie The position we have for you As a .NET developer you will work for one of our customers active in the High Tech Industry. Our customers are mainly located in the Eindhoven area. We are very selective when it comes to the projects we accept and therefore only focus on innovative and complex projects. Because our customers are mainly specialized in machine construction, you often work close to the machines. Our team currently consists of Embedded engineers, IOT developers and Cloud engineers. We mainly work on Microsoft projects where WPF, UWP, .NET Core and Microsoft Azure are used. Eisen

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 »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

C# Developer

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: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. 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. Bedrijfsprofiel

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 »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

PHP Developer

Dit ga je doen Je werkt nauw samen met het websitebureau aan de ontwikkeling en optimalisering van het internationale platform; Je ziet nieuwe webshops op en voert optimalisaties door; Je bouwt aan technische, functioneel en commercial resultaat; Je vindt het leuk om zelfstandig binnen een internationale organisatie te werken, maar krijgt ook energie om samen met collega's te werken. Hier ga je werken Voor een bedrijf in de regio Rotterdam zijn wij opzoek naar een PHP Developer. Je wordt onderdeel van het communicatieteam en gaat je bezighouden met het optimaliseren van de website van dit internationale bedrijf. Je schakelt veel

Bekijk vacature »

.NET Developer

Dit ga je doen Binnen het team bouw je aan een applicatie met andere .Net Developers, testers een Product Owner en een Business Analyst. Met het team wordt de backlog besproken. In overleg claim jij jouw deel en zorgt ervoor dat onderhoud en innovatie wordt gerealiseerd. Het project dat momenteel draait is het opgraden van de omgeving. Doorontwikkelen van de huidige applicatie; Overleggen met teamleden om de backlog te verdelen; Onderhouden van de huidige omgeving; Sparren met de business en het ophalen van nieuwe requirements. Hier ga je werken De organisatie is een van de grootste landelijke aanbieder van diverse

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

12/02/2019 15:07:35
Quote Anchor link
Ik programmeer al weer een tijdje en toen ik jaaaaren geleden met PHP begon werd aangeraden om strings en variabelen altijd te concatten en enkele quotes te gebruiken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo 'Hallo ' . $firstname . ' ' . $lastname . '!';

?>

Deze manier zou de beste zijn vanwege het gebruik van enkele quotes wat sneller zou zijn dan het gebruik van dubbele quotes.

Tegenwoordig als ik SQL-queries opstel, gebruik ik echter vrijwel altijd dubbele quotes.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$sql
= "SELECT foo, bar WHERE id = $id";

?>

En dat kun je natuurlijk ook doen als het niet om SQL gaat.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo "Hallo $firstname $lastname!";

?>

En dan is er ook nog het gebruik van accolades voor 'ingewikkeldere' variabelen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo "Hallo {$this->data['firstname ']} {$this->data['lastname ']}!";

?>


Mijn vraag is ... welke methode gebruiken jullie het meest?

Als ik eerlijk ben, dan leest dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo "Hallo $firstname $lastname!";

?>

... een stuk makkelijker dan dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo 'Hallo ' . $firstname . ' ' . $lastname . '!';

?>


Maar hoe zit het met performance e.d.?
Gewijzigd op 12/02/2019 15:09:58 door Ozzie PHP
 
PHP hulp

PHP hulp

15/05/2024 18:58:38
 
Nick Vledder

Nick Vledder

12/02/2019 15:20:42
Quote Anchor link
Als ik mag kiezen tussen 'performance' en 'leesbaarheid', kies ik altijd voor leesbaarheid. Performance van code als geheel zou niet mogen afhangen van het type quotes dat je gebruikt, tenzij er een bug in PHP zit. In mijn optiek mooie ontwikkeling in JS is de zgn template literal in combinatie met de back-tick: `Hallo ${firstname} ${lastname}!`. Niet meer dat gehaspel met de +.
 
Ozzie PHP

Ozzie PHP

12/02/2019 15:30:47
Quote Anchor link
>> Als ik mag kiezen tussen 'performance' en 'leesbaarheid', kies ik altijd voor leesbaarheid.

wat gebruik jij dan zelf?
 
Nick Vledder

Nick Vledder

12/02/2019 15:48:25
Quote Anchor link
Voor PHP gebruik ik een eenvoudige template-engine die ik aanpas naar eigen behoefte (via Composer "phpunit/php-text-template": "^1.2"). Deze template-engine bevat HTML met hier en daar een {blok} dat vervangen gaat worden door een nader te bepalen waarde. Qua syntax vertoont het overeenkomsten met de JS template literals.
Gewijzigd op 12/02/2019 15:48:50 door Nick Vledder
 
Paul Ulje

Paul Ulje

12/02/2019 16:23:41
Quote Anchor link
Ik gebruik wel iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$firstname=$oNaw->readNaam();
$lastname=$_SESSION['aRecord']['naam'];
print "<br/>Hallo <b>$firstname</b> <i>$lastname!</i>";

Dankzij 'leesbaarheid' krijg ik een betere 'perfomance' van ontwikkeling... :-)
Anders zou het dit worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
echo "<br/>Hallo <b>" . $oNaw->readNaam() . "</b><i> " . $_SESSION['aRecord']['naam'] . "</i>";

En zie dat maar eens in één keer zonder triviale foutjes te schrijven.
Vaker gebruik ik echter :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
writeln('Temp is',$celsius,'graden');

function writeln() {
  $aArgs = func_get_args();
  foreach ($aArgs as $arg) {
    print "$arg ";
  }
  print "<br/>";
}
Gewijzigd op 12/02/2019 16:33:02 door Paul Ulje
 
Ivo P

Ivo P

12/02/2019 16:40:23
Quote Anchor link
Ozzie PHP op 12/02/2019 15:07:35:

Tegenwoordig als ik SQL-queries opstel, gebruik ik echter vrijwel altijd dubbele quotes.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$sql
= "SELECT foo, bar WHERE id = $id";

?>


Los van waar je vraag over gaat, zou ik in dit geval opteren voor
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$sql
= "SELECT foo, bar WHERE id = :id";

?>


en dan prepare() en bind() gebruiken om je code wat veiliger te houden.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2019 16:58:51
Quote Anchor link
Enkele quotes als het kan, dubbele quotes als het moet.

Performacewinst pak je ergens anders.

Tijdswinst heb je direct omdat je makkelijk kunt lezen wat je zojuist hebt geprogrammeerd.

NB: als het over grotere lappen tekst gaat die een combinatie van PHP(-variabelen) en tekst gaat kan output buffering uitkomst bieden. Je doet dan alsof je alles direct weergeeft maar vangt alle output netjes op in een buffer. Dat is wat mij betreft nog steeds de meest "clutter free" aanpak.
Gewijzigd op 12/02/2019 17:00:39 door Thomas van den Heuvel
 
Ozzie PHP

Ozzie PHP

12/02/2019 17:48:50
Quote Anchor link
@Ivo

>> en dan prepare() en bind() gebruiken om je code wat veiliger te houden.

Volgens mij werkt dat niet met MySQLi.

@Thomas

>> Enkele quotes als het kan, dubbele quotes als het moet.

Oké ... maar ... WAAROM???
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2019 18:12:09
Quote Anchor link
Strings met enkele quotes worden niet geparsed (enkele escape constructies daar gelaten). Het is de simpelste vorm van stringgebruik wat je (theoretisch) een minimale performancewinst oplevert, die tegenwoordig toch geen zak meer uitmaakt. Het dwingt je tot het scheiden van lappen statische tekst en variabelen.

Strings met dubbele quotes kun je makkelijk combineren met enkele quotes wanneer je deze nodig hebt, bijboorbeeld als je queries bouwt waarin kolomwaarde worden gebruikt. Dit zodat je dan niet helemaal gierend gek wordt van het escapen van enkele of dubbele quotes, wat tevens de boel compleet onleesbaar maakt.

En omdat je dan met een simpele vuistregel werkt volgens een stramien die je impliciet dwingt tot een eenduidige werkhouding waarbij code leesbaar blijft.

En omdat je dan op zijn minst te werk gaat volgens een plan, en dat is nog altijd beter dan geen plan.

Heb je een andere/betere manier die voor jou werkt: go right ahead.
Gewijzigd op 12/02/2019 18:12:38 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

12/02/2019 19:57:44
Quote Anchor link
Ikzelf gebruik vaak de eerste code van Ozzie. Puur omdat het leesbaar is, en de syntax van de string en de variabelen/functies gescheiden zijn. Altijd een single-quoted echo als het voor een enkele regel is, zodat het niet botst met de gebruikelijke dubbele-quotes van HTML. En escapen wil ik juist zo weinig mogelijk doen, omdat dat slecht leesbaarder wordt. Ik houd het liefst van schone code.... ;-)

Bij blokken met HTML beëindig ik vaak de PHP-tags en gebruik netjes
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $blaat; ?>
tussendoor, als ik iets in PHP moet echo'en. In geen enkel geval bouw ik een echo-put met op elke regel en echo. Dat vind ik zo onnodig en onlogisch. het komt over alsof je tijdens een gesprek steeds na je zin een stilte laat vallen en weer verder praat :-P
 
Ozzie PHP

Ozzie PHP

12/02/2019 20:22:10
Quote Anchor link
@Thomas

Oké ... nu volg ik je even niet meer. Jij geeft als stelregel dat je enkele quotes moet gebruiken ... en vervolgens kom je met diverse redenen die het nut daarvan ontkrachten.

Wat raad jij nu aan, want ik zie geloof ik iets over het hoofd of ik begrijp je verkeerd.

@Ariën

>> Ikzelf gebruik vaak de eerste code van Ozzie. Puur omdat het leesbaar is, en de syntax van de string en de variabelen/functies gescheiden zijn.

Dat doe ik dus ook, maar strikt genomen zijn de dubbele quotes eigenlijk duidelijker (mits er niks geëscapet hoeft te worden).

Dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "Hallo $firstname $lastname!";
?>

lijkt me duidelijker dan dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo 'Hallo ' . $firstname . ' ' . $lastname . '!';
?>

Dus waarom kies je dan toch voor dit laatste? Zelf doe ik dat dus ook, maar is het nog wel handig vraag ik me af.
 
- Ariën  -
Beheerder

- Ariën -

12/02/2019 20:52:04
Quote Anchor link
Het is overzichtelijker. Je ziet dat er variabelen gebruikt worden. En één van mijn wijze uitspraken (die ik ooit van PHP Freakz heb overgenomen) is "Variabelen buiten quotes". ;-)

Alleen het concatneren geeft een beetje een syntax-rotzooitje, maar daar kijk ik gewoon overheen.
 
Ozzie PHP

Ozzie PHP

12/02/2019 21:48:38
Quote Anchor link
>> En één van mijn wijze uitspraken (die ik ooit van PHP Freakz heb overgenomen) is "Variabelen buiten quotes".

Lol :D

Maar weet je ook WAAROM dat zo is? Waarom ze buiten quotes moeten? Kan me er wel iets bij voorstellen, maar in queries zet vrijwel iedereen ze binnen dubbele quotes. Dus het gaat mij vooral om het waarom.
 
Thomas van den Heuvel

Thomas van den Heuvel

13/02/2019 00:08:21
Quote Anchor link
> Jij geeft als stelregel dat je enkele quotes moet gebruiken ... en vervolgens kom je met diverse redenen die het nut daarvan ontkrachten.
Nee ik leg uit wanneer je wat zou moeten gebruiken, en waarom.

> Wat raad jij nu aan, want ik zie geloof ik iets over het hoofd of ik begrijp je verkeerd.
Enkele quotes als het kan, dubbele quotes als het moet.
En bij erg lange tekst: output buffering.

Ik herinner mij dat artikel van PHPFz nog. Het "bewijsmateriaal" stond jammergenoeg in dienst van de hypothese (dat dingen buiten quotes halen sneller zou zijn). Ze hadden dan misschien wel gelijk, maar niet om de juiste redenen.
 
Ivo P

Ivo P

13/02/2019 10:18:53
Quote Anchor link
Ik kan me het artikel ook nog herinneren. Volgens mij geschreven door een van de oprichters van die site en ik schat in dat het minimaal zo'n 15 jaar oud zal zijn. (volgens mij was het Mathieu Kooiman)

Of PHP nog steeds op dezelfde manier werkt, is natuurlijk om te beginnen al de vraag.

Test ging toen om verschillen bij.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$bar
= "bar";

$foo = "foo bar";
$foo = 'foo bar';
$foo = "foo $bar";
$foo = 'foo '. $bar;
$foo = "foo " .$bar;

?>

resultaat wat ik me meen te herinneren:
De eerste 2 waren vergelijkbaar.
Staat er zoals in geval 3 een variabele tussen de " " dan wordt het "trager"
en de optimaalste waren de laatste 2.

Maar ik zet Trager tussen " ", omdat het verschil erg klein was. (toen al)

Ten tweede is ook de vraag hoe betrouwbaar de meetmethode was.

En tenslotte: de methode waarbij de variabelen buiten de quotes staan, geven
a) in mijn editor beter onderscheid in kleuren om de vars te vinden
b) gemakkelijk de mogelijkheid om ipv $bar iets als htmlspecialchars($bar) of escape($bar) toe te passen

Vooral dat geeft voor mij de doorslag om ze buiten de quotes te laten.

Toevoeging op 13/02/2019 10:23:19:

ik heb de link terug gevonden, al geeft het nu een 404 error:

http://www.scriptorama.nl/internals/quotes-battle

en dat googlen leidde weer naar phphulp:
zie ook https://www.phphulp.nl/php/forum/topic/single-of-double-quotes/16000/1/
 
Ozzie PHP

Ozzie PHP

13/02/2019 10:31:55
Quote Anchor link
>> en dat googlen leidde weer naar phphulp:

Damn ... da's een oude post ... nog van voor mijn tijd :-D

Beiden bedankt voor jullie uitleg. We blijven dus gewoon voor single quotes gaan waar mogelijk, en wanneer het handiger is voor dubbele quotes.

Nog een laatste vraagje.

Queries zet ik dus tussen dubbele quotes omdat dat makkelijk te combineren is met enkele quotes, maar wat nu als er geen enkele quotes in een query voorkomen? Zet je die query dan weer tussen enkele quotes? Of zetten jullie een query gewoon altijd standaard tussen dubbele quotes?
 
Ivo P

Ivo P

13/02/2019 11:25:33
Quote Anchor link
Ozzie PHP op 13/02/2019 10:31:55:
Queries zet ik dus tussen dubbele quotes omdat dat makkelijk te combineren is met enkele quotes, maar wat nu als er geen enkele quotes in een query voorkomen? Zet je die query dan weer tussen enkele quotes? Of zetten jullie een query gewoon altijd standaard tussen dubbele quotes?


Om daarna alles toch weer te moeten veranderen als je tóch nog een ' in de query nodig hebt.

Zelf hanteer ik inderdaad query tussen " "
en html tussen ' '

Maar daarbij wel altijd prepared statements als het om variabelen gaat.
 
Ozzie PHP

Ozzie PHP

13/02/2019 13:10:54
Quote Anchor link
>> Zelf hanteer ik inderdaad query tussen " "
en html tussen ' '

Oké helder!

>> Maar daarbij wel altijd prepared statements als het om variabelen gaat.

Ah oké, maar dat gaat bij MySQLi niet.
 
Ivo P

Ivo P

13/02/2019 13:32:45
Quote Anchor link
ik weet niet wat voor versie van mysqli jij gebruikt, maar met een ? werkt dat daar normaal wel.

http://php.net/manual/en/mysqli-stmt.prepare.php
http://php.net/manual/en/mysqli-stmt.bind-param.php
 
Ozzie PHP

Ozzie PHP

13/02/2019 14:17:12
Quote Anchor link
Ah oké ... normaal werk ik met PDO. Ik dacht dat het in mysqli niet kon.

Maar wat is eigenlijk het wezenlijke verschil tussen

SELECT foo FROM bar where id = $id

versus

SELECT foo FROM bar where id = ?

Wat ga ik er met die laatste variant op vooruit?
 
Ivo P

Ivo P

13/02/2019 14:34:02
Quote Anchor link
In jouw query kan $id niet iets anders zijn dan een INT, neem jij aan.

Maar stel dan het een keer toch een string is, en zeker als het invoer van buiten is, zou dat ook zo maar met opzet kunnen.

script.php?id=123%20OR%201

Dan is $id gelijk aan "123 OR 1"

dus de query wordt: "SELECT foo FROM bar where id = 123 OR 1"

En de vraag is, of dat is wat je wilt, en wat er gebeurt als iemand in plaats daarvan een subquery uitvoert die engere dingen doet.

SQL injectie dus.

En nu kún je wel proberen om $id vooraf te escapen, maar dat kan ook zo maar een keer vergeten worden. En dan missen ook nog de ' ' om $id.

prepared statements voorkomen dat.
En maken het eventueel ook mogelijk een 1x gepreparede query een keer of 100 uit te voeren met steeds andere parameters.

Bijvoorbeeld 1x prepare en vervolgens 1000 meetresultaten ergens uitlezen en wegschrijven. zou ook efficienter zijn. Komt niet veel voor bij standaard websites, maar PHP is niet tot websites beperkt.
 

Pagina: 1 2 volgende »



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.