Query afhandeling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Datawarehouse Developer / Cloud omgevingen / 5.400

Functieomschrijving Ben je gedreven in het opzetten van een Datawarehouse en ETL en wil je jezelf verder ontwikkelen binnen jouw vakgebied? Heb je ernaast ook kennis van het werken in de Cloud? Lees dan snel verder! Je draagt zorg voor de verdere uitbreiding van de Datawarehouse; Het verder ontwikkelen van ETL generator op basis van de behoeften binnen het team; Meehelpen aan de migratie van Oracle naar Redshift; Proactief kijken naar verbeteringen en hierover schakelen met andere teams. Functie-eisen HBO werk- en denk niveau; Minimaal 3 tot 5 jaar werkervaring als Datawarehouse Developer; Uitgebreide kennis van ETL en bijbehorende tooling;

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Functioneel beheerder NetSuite

Voor een van onze klanten in de omgeving van Apeldoorn zijn we opzoek naar een functioneel applicatie beheerder. Het bedrijf is snel aan het groeien en daarbij zijn ze ook recentelijk gestart met een groot IT transformatie project. Het bedrijf zit in de beginfase van de implementatie van het nieuwe ERP systeem (NetSuite). Binnen deze rol zal je dan ook zeker een betrokken worden bij dit project. Naast het ondersteunen van het implementatie project zal je samen met je collega's verantwoordelijk zijn voor het goed werkend IT landschap en alle gerelateerde bedrijfsprocessen. Een aantal van je werkzaamheden zullen zijn: Begeleiden

Bekijk vacature »

C# backend developer, Rotterdam

Voor een grote organisatie in Rotterdam zijn we op zoek naar iemand met ruime ervaring in het ontwikkelen van applicaties in .NET C#. Het gaat hier om een organisatie met een maatschappelijke impact. Hun systemen zijn gericht op een groot aantal klanten waarbij het belangrijk is dat de applicaties helder, toegankelijk en up-to-date zijn. Als .NET C# developer werk je aan uiteenlopende applicaties, APIs en het interne framework. Dit doe je binnen een SCRUM team en meedenkt binnen het hele proces. Het team bestaat uit meerdere C# developers variërend van medior tot senior. Er is dus veel kennis en ervaring

Bekijk vacature »

Junior .NET C# developer gezocht, Dordrecht

Ben je een .NET C# developer die in Dordrecht woont, of in de omgeving hiervan, en op zoek is naar een nieuwe baan? Bij een bedrijf met betrokken collega’s, die elkaar graag helpen, binnen een informele cultuur? En aan een succesvol product wilt werken dat constant verder ontwikkeld wordt? Voor een bedrijf in Dordrecht zijn we op zoek naar verschillende C# developers. Het bedrijf richt zich op de ontwikkeling van software voor een specifieke branche en heeft circa 5000 gebruikers. De organisatie bestaat uit circa 20 mensen waarvan 6 .NET developers, 1 architect en 3 software testers. Het werk bestaat

Bekijk vacature »

.NET Developer / C# / financiële organisatie

Functieomschrijving Wil jij als .NET Developer bij deze organisatie in Amsterdam als kartrekker in een Scrum team fungeren en je helemaal uitleven in de backend met C#? Krijg jij een grote kick van veel verantwoordelijk en mogelijkheden in een .NET backend? Vindt jij het leuk requirements op te halen bij de business en deze te vertalen in concrete oplossingen? Dan past deze functie jou perfect! Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen

Bekijk vacature »

Lead .Net Developer/Architect/ Telecom/ Salary: 6.

Functieomschrijving Are you a team player that is proactive and isn’t afraid to share your opinion? Are you a .Net expert? Then advance your career in one of the coolest and most challenging Telecom companies located in, The Netherlands! As a Lead .Net Developer, you will work in a dynamic environment: You are responsible for gathering stakeholder requirements to improve the operational process; You will be translating the stakeholder requirements to suitable designs with a realistic project schedule; You will be designing models such as the logistics model; You will be discussing designs with the other architects; You will be

Bekijk vacature »

.NET Developer / C# / miljarden berichten / Zorgse

Functieomschrijving Zit jij aan je plafond als .NET C# Developer? Wil jij de stap maken naar dé .NET software organisatie van Tilburg? Lees dan nu verder! Bedrijfsomschrijving werken bij een organisatie waar je met het volgende in aanraking komt: High-intensity dataverkeer, meer dan 2,7 miljard berichten per jaar; Development aan .NET applicaties die maandelijks miljoenen euro's verwerken; Salaris als developer tot bijna 70.000 euro op jaarbasis; Geen partij in de omgeving van Tilburg die zo'n complex .NET applicatielandschap heeft; Werken aan meer dan 50 diensten, verdeeld over 10 Scrum teams; Focus op o.a.: C# en ASP.NET in een Agile organisatie;

Bekijk vacature »

Interne functie als Java ontwikkelaar bij fijne or

Functieomschrijving Je komt in een team van ontwikkelaars en samen ga je het bestaande product verfijnen en verbeteren. Er komt ook veel nieuwbouw bij kijken en steeds gericht op de applicaties die ze in de markt hebben staan. In je rol zal je van A tot en met Z betrokken worden bij het gehele ontwikkel proces. Ze zijn hier op zoek naar een ontwikkelaar die met een brede stack kan werken, bij voorkeur kan jij écht fullstack uit de voeten. Je zal verantwoordelijk zijn voor het uitwerken, implementeren, testen en uitrollen van de software. Er wordt hier volgens de Scrum

Bekijk vacature »

Full-Stack Web Developer

Kennis van C#, JavaScript, CSS en HTML5? En wil je die kennis inzetten om de zorg te verbeteren met slimme en innovatieve online portalen? Jouw baan Als Full-Stack Web Developer programmeer jij zowel front-end als back-end en ontwikkel je nieuwe functionaliteiten in het webportaal voor zorgverleners of patiënten. Denk hierbij aan vragenlijsten, labuitslagen en het bewerken van persoonsgegevens. Ook stort jij je vol overgave op lastige vraagstukken die binnenkomen via onze consultants. Samen met je team bedenk en bespreek je oplossingen en voer je code-reviews uit om elkaar naar een nóg hoger niveau te tillen. Jouw team Ons team? Work

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

PHP Developer Senior Complexe SaaS-oplossing

Functieomschrijving Ben jij een ervaren PHP Developer, focus jij je doorgaans op de back-end en loop jij warm voor het doorontwikkelen van een zeer grote applicatie met enorme MySQL databases en veel complexiteit? Lees dan snel verder! Het onderhouden, doorontwikkelen en testen van een zeer complexe SaaS-oplossing, zonder schaalbaarheid en platformonafhankelijkheid uit het oog te verliezen; Het ontwikkelen van maatwerk back-end oplossingen in PHP en participeren in een Scrumteam; Het participeren in een migratie naar het Symfony framework; Participeren in diverse projecten t.b.v. de optimalisatie van het SaaS-product; Het opzetten van API koppelingen met externe partijen;. Het wegwerken van legacy

Bekijk vacature »

Junior Developer / C# .NET

Functieomschrijving Heb je op je studie of hobbymatig ervaring met C#.NET development en wil je hier je carriere van maken? Werk je graag bij een bedrijf met een gemoedelijke sfeer en een down to earth mentaliteit? Reageer dan nu! In de functie van Junior C#.NET Developer ga je aan de slag met onderstaande taken. Mocht je deze taken en werkzaamheden nog niet helemaal zelfstandig uit kunnen voeren dan leren jouw directe collega's je hoe dit moet en kunnen zij jouw vragen beantwoorden! Het doorontwikkelen van het inhouse gebouwde maatwerk TMS-pakket met bedrijfskritische gegevens op het gebied van orders, klanten en

Bekijk vacature »

Senior Oracle Developer (m/w/d) (H/F)

Equip. Every day, we find the most exciting future opportunities for IT experts. To strengthen the development team at our end client in Vienna we are looking for a new team member as: SENIOR ORACLE DEVELOPER (m/w/d) YOUR TASKS Development of software applications and special solutions in the Oracle environment Team work during the whole development process using agile methods Functionality and perfomance securing as well as identifying and understanding problems and developing solutions YOUR QUALIFICATIONS Minimum of 5 years relevant working experience in Oracle Developement Strong knowledge of PL/SQL, SQL, Oracle Developer Suite Knowledge of Apex is a plus

Bekijk vacature »

OutSystems Developer Gloednieuw Applicatiehuis

OutSystems Developer Functieomschrijving Heb jij als OutSystems Developer ruime ervaring met het ontwikkelen van diverse applicaties? Lijkt het jou gaaf om aan de vooravond te staan van de implementatie van een volledig nieuw applicatiehuis? Wil jij aan de slag binnen een uitdagende omgeving waarbij je de mogelijkheid krijgt jezelf verder te ontwikkelen? Lees snel verder! Jouw taken als OutSystems Developer zullen bestaan uit: Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Functie-eisen De eisen zijn: Hbo

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

28/09/2020 03:34:03
 
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.