PDO Rowcount check

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. 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. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Ervaren Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als ervaren developer zul je hiernaast ook andere developers assisteren en waar nodig de leiding nemen in het project.

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 »

.NET developer

Functie Heb jij veel kennis van ASP.NET Webforms en wil jij juist de overstap maken naar ASP.NET Core? Wij zijn per direct op zoek naar een ervaren .NET Webdeveloper die met ons samen ons platform wilt herschrijven van ASP.NET Webforms naar ASP.NET Core. Voor jou de unieke kans om met ons samen te innoveren en kennis op te doen van de nieuwste technieken binnen de Microsoft Stack. Wij hebben een development team met 10 IT specialisten bestaande uit onder andere 4 backend .NET developers en twee front-end developers. Wij zijn continu bezig om ons als team en bedrijf te blijven

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »
Roeltje M

Roeltje M

29/08/2015 00:31:12
Quote Anchor link
Hey Allemaal!
Ik heb even een vraag. Ik gebruik nu sinds enige tijd PDO voor het ophalen van gegevens uit database, alleen nu heb ik het volgende probleem, bij deze code:

functions.php
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
<?PHP
public function addPetition($name,$email,$club,$date,$ip,$mobile = 0)
{
        
$query = "INSERT INTO db_petitie (petitie_id, petitie_name, petitie_email, petitie_club, petitie_hash, petitie_status, petitie_date, petitie_mobile, petitie_ip) VALUES (DEFAULT,:name,:emailadres,:club,:hash,0,:date, :mobile, :ip)";                        

if(empty($_GET['admin'])) { if(!empty($_COOKIE['PetitionCookie']))
throw new InvalidPetitionException ('U heeft dit formulier onlangs ingevuld.');        }
if(strlen(trim($name)) < 3)
throw new InvalidPetitionException ('Uw naam moet 3 tekens of meer bevatten.');
if (!preg_match("/^[a-zA-Z ]*$/",$name))
throw new InvalidPetitionException ('Uw naam heeft niet het juiste formaat.');
if(strlen(trim(empty($club))))
throw new InvalidPetitionException ('U heeft geen club geselecteerd.');        
if(strlen(trim($email)) < 6)
throw new InvalidPetitionException ('E-mailadres moet 6 tekens of meer bevatten.');        
if(isValidEmail($email) != 'goed')
throw new InvalidPetitionException ('E-mailadres heeft een onjuist formaat.');        

$hash = md5($name.$email.$club.$date.$ip);

$stmt = $this->db->prepare($query);        
$stmt->bindValue(':name', (string)ucwords(strtolower($name)));            
$stmt->bindValue(':emailadres', (string)$email);                    
$stmt->bindValue(':club', (string)$club);                        
$stmt->bindValue(':mobile', (int)$mobile);                                
$stmt->bindValue(':hash', (string)$hash);                
$stmt->bindValue(':date', (string)$date);                            
$stmt->bindValue(':ip', (string)$ip);                            
$stmt->execute();    ?>


pagina.php
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
<?php
try
{
$petition = new PetitionController($db);
$overall = $petition->getPetition('petitie_club, COUNT(*) as aantal','WHERE petitie_status=1','GROUP BY petitie_club','ORDER BY aantal DESC, petitie_club ASC','LIMIT 0,50');
foreach($overall as $rowOverall)
{

echo "<tr class='statsContent'>";
echo "<td>".$rowOverall['petitie_club']."</td><td>".number_format($rowOverall['aantal'],0,",",".")."</td>";
echo "</tr>";
}

}

catch(Exception $e)
{

$error = $e->getMessage();            
}

?>


Nu kan het zijn dat de query een aantal van 0, 1 of meer dan 1 geeft. Bij aantallen meer dan 1, gaat de foreach lus goed. Echter, bij een aantal van 0 (toon "geen resultaten") of 1 (fetch ipv fetchall?) moet er wat anders gebeuren. Hoe bouw ik dat hier in? Ik kom er niet meer uit.
 
PHP hulp

PHP hulp

05/05/2024 10:32:25
 
Johan K

Johan K

29/08/2015 00:51:18
Quote Anchor link
Ik zie niet echt wat petitioncontroller doet, maar ik neem aan dat "$petition->getPetition()" een fetchAll op je tabel doet?
Als dat zo is, kan je count($overall) gebruiken om in te zien hoeveel "rows" er geprint moeten gaan worden en alleen de foreach lus uitvoert als deze groter is dan #.

Zelf ben ik wel eens tegen de muur aangelopen met SELECT niet kan bekijken met "rowCount" aangezien dit alleen werkt op: DELETE, INSERT en UPDATE, affected_rows() met een nieuwe naam >.>
Gewijzigd op 29/08/2015 01:00:10 door Johan K
 
Ozzie PHP

Ozzie PHP

29/08/2015 06:20:22
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if (empty($overall)) {
    echo 'geen resultaten';
}
elseif (count($overall) > 1) {
    foreach($overall as $rowOverall) {
        // ...
    }
}
else {
    // code bij 1 resultaat
}
?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/08/2015 10:53:15
Quote Anchor link
Waarom direct een Exception als iemand iets vergeet in te vullen? Waarom niet gewoon je formulier opnieuw tonen met een extra melding?

Verder zou ik de validatie en de query niet in één functie stoppen.

En getPetition zou je ook zo kunnen maken dat deze altijd een array teruggeeft (desnoods een lege) of een exception gooit.
 
Roeltje M

Roeltje M

29/08/2015 14:34:49
Quote Anchor link
Ozzie PHP, bedankt voor deze optie.
@ Frank, graag zou ik voor je laatste optie kiezen, maar hoe regel ik dit in?
 
Thomas van den Heuvel

Thomas van den Heuvel

29/08/2015 14:58:49
Quote Anchor link
Johan K op 29/08/2015 00:51:18:
Ik zie niet echt wat petitioncontroller doet, maar ik neem aan dat "$petition->getPetition()" een fetchAll op je tabel doet?
Als dat zo is, kan je count($overall) gebruiken om in te zien hoeveel "rows" er geprint moeten gaan worden en alleen de foreach lus uitvoert als deze groter is dan #.

Zelf ben ik wel eens tegen de muur aangelopen met SELECT niet kan bekijken met "rowCount" aangezien dit alleen werkt op: DELETE, INSERT en UPDATE, affected_rows() met een nieuwe naam >.>


Wat Johan zegt, hoe ziet getPetition() eruit? Misschien haal je per ongeluk al 1 resultaat op ofzo? Je zou prima door een array met 1 element heen moeten kunnen loopen?

@Johan je kunt rowCount() gebruiken voor "num_rows" functionaliteit als je in je DSN de instelling PDO::MYSQL_ATTR_USE_BUFFERED_QUERY op true zet. De waarde van de instelling PDO::MYSQL_ATTR_FOUND_ROWS (die eigenlijk voor deze functionaliteit bedoeld is) lijkt niet uit te maken. Blijkbaar heb je impliciet ondersteuning voor "num_rows" als gebufferde queries aan staan, wat op zich wel logisch is.

Ik heb wel het idee dat de default waarden van dit soort instellingen per PHP versie nogal verschillen, dus je zult even moeten kijken wat voor jouw versie werkt, YMMV (Your Mileage May Vary).
Gewijzigd op 29/08/2015 14:59:43 door Thomas van den Heuvel
 
Frank Nietbelangrijk

Frank Nietbelangrijk

29/08/2015 15:30:01
Quote Anchor link
Roeltje M op 29/08/2015 14:34:49:
Ozzie PHP, bedankt voor deze optie.
@ Frank, graag zou ik voor je laatste optie kiezen, maar hoe regel ik dit in?


// zoiets? (niet getest)
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
<?php
function getFruit()
{

    global $dbh;

    $sth = $dbh->prepare("SELECT name, colour FROM fruit");
    $sth->execute();

    if(!$result = $sth->fetchAll())
    {

        $error = $dbh->errorInfo();
        throw new Exception($error[2]);
    }


    return $result;
}


?>
 
Roeltje M

Roeltje M

31/08/2015 17:16:59
Quote Anchor link
Thanks, fetchAll() werkt dus ook wanneer er maar 1 resultaat is? Dat wist ik niet, vandaar!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

31/08/2015 18:25:43
Quote Anchor link
Zelfs als er geen resultaten gevonden zijn. Je krijgt dan een lege array terug.
 
Roeltje M

Roeltje M

31/08/2015 18:59:45
Quote Anchor link
Gelukt, bedankt!
 



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.