Concatten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Senior .Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Front-end developer Supply Chain Angular, ReactJS,

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

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 Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij op zoek naar een nieuwe uitdaging? Lees dan snel verder! Voor een organisatie in de regio Utrecht die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

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 »

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

24/11/2024 07:16:33
 
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.