Query afhandeling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist 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 een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Low Code Ontwikkelaar

In het kort Als Low Code Developer werk je aan projecten bij en voor onze klanten, waarbij je voor het ontwikkelen van de oplossingen een technisch low-code platform gebruikt. Samen met het team streef je naar de beste oplossing en bepalen jullie de juiste aanpak. Je rol is divers en je bent van begin tot eind betrokken bij de ontwikkeling zowel de back-end en de front-end van de applicatie. Naast de ontwikkeling en oplevering, breng je ook advies uit aan de klant waarom bepaalde keuzes worden gemaakt. Je bent dan ook communicatief sterk en kunt je keuzes goed (inhoudelijk) onderbouwen.

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

PHP Developer

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

Bekijk vacature »

.NET Developer Shared Driving

Bedrijfsomschrijving Onze klant richt zich op het toegankelijker maken van steden, een fantastisch mooi streven. Hoe ze dat doen? Met eigen ontwikkelde software, waarmee vervoersmiddelen gedeeld kunnen worden. Deze inspirerende werkgever maakt een maatschappelijke impact en dat doen ze nu al zo'n 25 jaar! Het bedrijf is gevestigd in het centrum van Rotterdam en kent ongeveer zo'n 90 medewerkers. Het personeel is lekker gewoon gebleven! Iedereen kleedt zich zoals hij of zij dat zou willen en de sfeer is er erg fijn. Een leuke werkgever om voor te werken, en bovendien zijn er voor jou als Software Developer veel mooie

Bekijk vacature »

Medior/Senior Python developer

Functie Jij als Senior Python developer hebt al ruime ervaring opgedaan. Bedrijven komen bij de organisatie om technische vraagstukken op te lossen. Jij als specialist bent dus de representatie van deze kwaliteit. Je zult de keuze krijgen tussen lange of korte projecten waarin je komt te werken in multidisciplinaire teams. Projecten die je gaat uitvoeren zijn zeer uitlopend. Zodoende kun je aan de ene kant kiezen voor een greenfield project en stroom je bij een ander project midden in een migratietraject in. Voor de ene klant ontwikkel je ene nieuwe portal en voor het andere project duik je veel meer

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

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 »

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 »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »
Lord Gaga

Lord Gaga

01/02/2017 13:54:28
Quote Anchor link
Hallo,

Voordat ik een query uitvoer, check ik met mysqli_ping of er nog verbinding is met de database, puur omdat ik dit gewend ben te doen. Maar is dat wel daadwerkelijk nodig? Stel ik wil enkel iemands gebruikersnaam weergeven, hoe kun je dit dan zo efficiënt mogelijk doen? Op dit moment heb ik de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
if (mysqli_ping($mysqli))
{

    $query =
    "
        SELECT username
        FROM user
        WHERE u_id = "
. mysqli_real_escape_string($mysqli, $_SESSION["user_id"]) . "
    "
;
    
    $result = mysqli_query($mysqli, $query);
    
    if (!(mysqli_errno($mysqli)))
    {

        $user = mysqli_fetch_assoc($result);
?>

            <p>Je bent ingelogd als <strong><?= htmlspecialchars($user["username"]); ?></strong>.</p>
<?php
    }
    else
    {
?>

            <p>Je bent ingelogd als <strong>Onbekend</strong>.</p>
<?php
    }
}

else
{
?>

            <p>Je bent ingelogd als <strong>Onbekend</strong>.</p>
<?php
}
?>


Echter vind ik dit persoonlijk nogal een overkill aan fout afhandeling.

Hoe pakken jullie dit aan?
Gewijzigd op 01/02/2017 13:54:42 door Lord Gaga
 
PHP hulp

PHP hulp

06/10/2024 13:45:54
 
Ben van Velzen

Ben van Velzen

01/02/2017 14:06:23
Quote Anchor link
Pingen is alleen nodig in specifieke gevallen, bijvoorbeeld als je de status van een server wilt weten voor een dashboard. Gewoon je query naar de server schoppen en controleren of dat goed gegaan is is meer dan voldoende.
 
- Ariën  -
Beheerder

- Ariën -

01/02/2017 14:12:39
Quote Anchor link
Ikzelf ben meer voorstander van de MySQLi-OO, wat voor Object Oriënted staat.
Hierbij kloon ik de query-functie met extend in een eigen class. Dan kan je zelf bij de query-functie ingebouwde foutafhandeling bouwen:

http://phptuts.nl/view/26/7/
 
Thomas van den Heuvel

Thomas van den Heuvel

01/02/2017 15:16:31
Quote Anchor link
- Ariën - op 01/02/2017 14:12:39:

En lees ook even de reacties :p. Die tutorial is nogal verouderd.

---

De uitvoering van een of meer scripts duurt meestal niet meer dan enkele milliseconden tijdens welke je, voor het uitvoeren van queries, eerst een verbinding maakt met je database. (tenzij je wellicht van persistente connecties gebruik maakt?)

Als de kans bestaat dat in dit (ultra)korte tijdsbestek je database onderuit gaat dan lijkt mij jouw opstelling niet erg stabiel?

Indien de data in je database vrij complex/uitgebreid is (denk aan iets dat doorkan als administratief systeem) en het niet de bedoeling is dat deze door storingen corrupt raakt dan kun je ook al een hoop afdekken door relaties (foreign keys) en indexen aan te brengen en gebruik te maken van transacties (een batch van queries wordt wel, of in het geheel niet, uitgevoerd).

Ik denk dat je er, als je succesvol een verbinding hebt gemaakt, van uit kunt gaan dat je database voorlopig nog wel even bereikbaar is - even afgezien van mogelijk super inefficiënte code (denk aan queries in loops) die je website op de knieën dwingt.

Kun je anders uitleggen waarom het zo super belangrijk is dat je continu een absolute garantie hebt dat je database up is? En, for that matter, dat je hier op een of andere manier blijkbaar niet van uit kunt gaan?
Gewijzigd op 01/02/2017 15:26:38 door Thomas van den Heuvel
 
Lord Gaga

Lord Gaga

03/02/2017 14:02:03
Quote Anchor link
Bedankt voor de reacties, ik heb het pingen naar de database weggehaald en check nu enkel of de query is gelukt.

@Thomas Het is niet zo dat ik persé wil dat er een absolute garantie is dat er verbinding is met de database, hoewel ik dit niet erg zou vinden. Ik probeer mijn website gewoon zo goed mogelijk te programmeren, althans, zo ver dat mogelijk is.
 
- Ariën  -
Beheerder

- Ariën -

03/02/2017 15:20:44
Quote Anchor link
Thomas van den Heuvel op 01/02/2017 15:16:31:
- Ariën - op 01/02/2017 14:12:39:

En lees ook even de reacties :p. Die tutorial is nogal verouderd.

Maar ik doel op het extenden van de MySQLi-classe en klonen van de query-method.
Of is dat ook achterhaald volgens jouw?

Verder staat het je vrij om een fork op PHPhulp te publiceren. De tutorial is CC, en je helpt er anderen mee. ;-).
 
Thomas van den Heuvel

Thomas van den Heuvel

03/02/2017 15:55:49
Quote Anchor link
- Ariën - op 03/02/2017 15:20:44:
Maar ik doel op het extenden van de MySQLi-classe en klonen van de query-method.
Of is dat ook achterhaald volgens jouw?

Wat in die tutorial gebeurt, en waar ik in mijn reactie aldaar aan refereer, is dat de mysqli klasse en de mysqli_result klasse min of meer worden gecombineerd in één methode (die er in eerste instantie ook nog eens van uit gaat dat er altijd PRECIES één resultaat is) en dat dat naar alle waarschijnlijkheid niet zo'n fantastische keuze is.

Begrijp mij niet verkeerd, ik ben helemaal voor het extenden van dit soort klasses in enkele wrappers, maar dan wel graag op de goede manier. Die tutorial slaat op een aantal zeer belangrijke plaatsen de plank gewoon mis.

Om terug te komen op mysqli_ping:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (mysqli_ping()) {
    // hoera, er is een verbinding, maar...
    // ...
    // er is geen enkele garantie dat na deze controle de connectie niet
    // alsnog overlijdt wat het doel van deze controle compleet verslaat :p
    // dus kun je deze controle net zo goed achterwege laten
    // ...

}
?>

Er zijn andere, en waarschijnlijk betere, manieren om de integriteit van je data te waarborgen (zie een vorige reactie).
Gewijzigd op 03/02/2017 15:58:26 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

03/02/2017 16:06:27
Quote Anchor link
Een voorbeeld zou niet misstaan, over hoe jij een query uit wil voeren met ingebouwde foutafhandeling ;-)
Zo helpen we elkaar tenminste! Jij mag dan wel een hoop ervaring hebben, maar vergeet niet dat er ook beginners hier op het forum zitten.
 
Thomas van den Heuvel

Thomas van den Heuvel

04/02/2017 01:11:56
Quote Anchor link
Nou als je even op het bovenstaande linkje klikt vind je daar een compleet epistel. Is dat niet genoeg?
 
- Ariën  -
Beheerder

- Ariën -

04/02/2017 01:35:30
Quote Anchor link
Thomas van den Heuvel op 04/02/2017 01:11:56:
Nou als je even op het bovenstaande linkje klikt vind je daar een compleet epistel. Is dat niet genoeg?

Misschien moet je mijn post eens beter lezen, ik heb niks over een epistel gezegd.
Maar je mag het ook achterwege houden, maar dan leert niemand wat in de praktijk. Vergeet niet dat voorbeelden een belangrijk middel zijn om kennis op te doen. Dus hoe zou jij het dan doen om een query met ingebouwde foutafhandeling uit te voeren??
Gewijzigd op 04/02/2017 10:15:26 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

04/02/2017 14:58:45
Quote Anchor link
Misschien moet je mijn post beter lezen, daar staat namelijk een link naar voorbeeldcode. Het vervolgens uitpluizen van hoe je dit gebruikt moeten mensen zelf maar doen. Je ontdekt niets als je niets probeert.

Daarnaast is een "ingebouwde foutafhandeling" mogelijk niet echt handig. Wanneer je gebruik maakt van een OO-aanpak is het vrij gebruikelijk dat je ook gebruik maakt van try-catch blokken en exceptions. En het hele doel van exceptions is juist een middel om foutafhandeling te kanaliseren / uit te stellen. De foutafhandeling wordt bewust niet ingebouwd maar gedelegeerd naar andere code (in het catch blok).

Ook is de manier waarop je fouten afhandelt afhankelijk van de omgeving. In een ontwikkelomgeving mag de applicatie meestal wel middenin afgebroken worden en de melding op je scherm worden gedumpt. Op een test- of productieomgeving wil je waarschijnlijk een subtielere aanpak waarbij (de output van) fouten worden onderdrukt maar wel ergens worden gelogd zodat je deze terug kunt zien. De implementatie van foutafhandeling is dus ook niet eenduidig.

En om toch een triviaal voorbeeld te geven, hier een reactie die voortborduurt op de eerdere oplossing.
Gewijzigd op 04/02/2017 14:59:48 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

05/02/2017 13:19:25
Quote Anchor link
Foutafhandeling kan zowel exceptions zijn,als een simpele if-else-statement. En uiteraard ben ik bewust van wat je aan de gebruiker meldt aan foutmeldingen. Zo ga ik heus geen database-details doorgeven en houd het bij een 'technische storing aan onze kant'. Ikzelf gebruik gewoon exceptions in een extended class met een gekloonde query-functie op de MySQLi-classe. Bevalt mij uitstekend.
In test-opstellingen toon ik gewoon wel de foutmeldingen.

Mogelijk kan je bij de foutmelding een hash tonen die intern verwijst naar de error in de log. Mocht een bezoeker zo aardig zijn om de error door te geven aan de techneuten, dan heeft hij voldoende aan de hash, zonder de betekenis te weten, maar de beheerder kunnen dan zo zien bij welke error het hoort.
Gewijzigd op 05/02/2017 13:20:05 door - Ariën -
 



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.