Query afhandeling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

C# ontwikkelaar

Functie omschrijving Werk jij graag met C# en het .NET framework in een leuk familiebedrijf? Lees dan snel verder! Jouw takenpakket hierbij is: Je gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Je gaat werken in een Microsoft omgeving (ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Daarnaast optimaliseer je de bestaande software. Bedrijfsprofiel Deze organisatie is gevestigd in de omgeving van Best en is een echt familiebedrijf. Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

SAP HANA Cloud Application Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12662 Introductie HANA Cloud Application Developer at a High Tech company. The company is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. This role is situated in the Big Data Analytics (BDA) Domain. The teams have mixture of young talent and senior specialists and have a

Bekijk vacature »

Junior/Medior Front-end developer

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

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 »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

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 »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

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

26/09/2023 05:09:12
 
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.