Concatten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

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 »

Senior Developer ERP Dynamics 365

Samengevat: Deze werkgever is een softwarebedrijf. Ben jij een enthousiaste developer? Heb je ervaring met ERP of Dynamic 365 bussines central? Vaste baan: ERP Applicatie Specialist ERP MBO €3.600 - €5.200 Wij houden ons als bedrijf bezig met het leveren en implementeren van het Microsoft Dynamics pakket binnen verschillende industriële sectoren. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Binnen ons open team is er een no-nonsense cultuur. Daarnaast is er veel onderling contact door de korte communicatielijnen. Het team werkt enthousiast samen om een

Bekijk vacature »

Laravel PHP developer in een jong team

Bedrijfsomschrijving Als je op zoek bent naar een werkplek waar plezier en uitdaging hand in hand gaan, dan is dit bedrijf de juiste keuze voor jou. Hier kun je werken aan uitdagende projecten en krijg je als developer veel verantwoordelijkheid. Het bedrijf waardeert kwaliteit boven kwantiteit en richt zich op het ontwikkelen van hoogwaardige applicaties en websites waar klanten enthousiast over zijn. Dit bedrijf is vooruitstrevend en streeft naar het leveren van de best mogelijke resultaten voor hun klanten. Als medior PHP ontwikkelaar met 3 jaar ervaring ben jij de persoon die we zoeken. Je krijgt hier de kans om

Bekijk vacature »

C# Ontwikkelaar

In het kort Als C# .NET Core ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging

Bekijk vacature »

Ervaren C#.NET developer

Functieomschrijving We zijn op zoek naar een ervaren C#.NET programmeur voor een moderne werkgever in de regio Prinsenbeek. Als programmeur zal je bezig zijn met het ontwikkelen van op maat gemaakte webapplicaties voor verschillende klanten, waarbij je ervoor zorgt dat complexe processen zo goed mogelijk worden ondersteund. Je takenpakket omvat onder andere: Werken met databases en dataopslagoplossingen, implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens, evenals het schrijven van technische documentatie en gebruikershandleidingen. Het ontwikkelen en onderhouden van C#.NET-applicaties. Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen. Het schrijven van hoogwaardige en herbruikbare codes.

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 »

Python Developer

Dit ga je doen Als Python Developer ben je verantwoordelijk voor: Het ontwikkelen van Stuurprogramma's in Python zodat er verbindingen kunnen worden gelegd tussen besturingssystemen en (AV) hardware; Het testen en debuggen van Stuurprorgamma's; Het communiceren met noodzakelijke partijen in gevallen waar extra technische details nodig zijn om een Stuurprogramma te ontwikkelen of problemen op te lossen; Het maken van de nodige technische documentatie (in het Engels); Het participeren in een Scrum/Agile omgeving. Hier ga je werken Deze internationale organisatie is wereldwijd een succesvol producent en leverancier van professionele AV hard- en software. Klanten gebruiken de producten o.a. voor het

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

Bekijk vacature »

.NET Developer

Functie De perfecte combinatie tussen techniek en vastgoed. Werk samen met de senior software developer om allerlei software van fluX te verbeteren. Gelukkig voel jij je helemaal thuis in de codewereld van .NET. Dus of je nu bezig bent met het verhogen van de conformiteitscore of het automatiseren van allerlei taxatiemodellen, jij weet precies hoe je de doelstellingen realiseert. En dat terwijl je ook samenwerkt met een extern ontwikkelteam. Waar dit team bepaalde softwaresystemen ontwikkelen, richt jij je vooral op onze Nederlands georiënteerde producten en alle wetgeving die daarbij komt kijken. Voor minimaal 32 uur per week verrijk jij onze

Bekijk vacature »

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 »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Rotterdam dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

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

06/11/2024 00:44:44
 
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.