PDO Rowcount check

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Junior Java Developer

Dit ga je doen Je ontwikkelt innovatieve, maatschappelijk belangrijke applicaties; Je implementeert nieuwe features; Je gaat in gesprek met eindgebruikers en designers om de applicaties continu te finetunen; Je draait mee in een professionele Agile/Scrum omgeving. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de omgeving van Amsterdam. Ze staan zeer goed bekend in de markt door hun innovatieve dienstverlening op IT gebied en hun gepassioneerde werknemers. Voor hun inspanningen op het gebied van IT hebben ze meerdere prijzen gewonnen! Onze klant is onderdeel van een Corporate werkgever en heeft zelf 300 mensen in dienst. Om

Bekijk vacature »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Core developer wordt jij onderdeel van ons team met drie breed ontwikkelde software engineers en een flexibele schil met zes ervaren freelancers. Jij gaat mee in de visie van onze organisatie om als IoT partner in deze branche specifieke markt “het” platform te blijven innoveren en deze ook steeds slimmer te maken. Wij hopen dan ook zeker dit in de toekomst te kunnen realiseren met bijvoorbeeld Artificial Intelligence. De architectuur van ons platform is opgemaakt uit een deel eigen protocol, een interface laag en een laag welke de protocollen van derde partijen vertaald naar het eigen

Bekijk vacature »

.NET developer

Functie The position we have for you As a .NET developer you will work for one of our customers active in the High Tech Industry. Our customers are mainly located in the Eindhoven area. We are very selective when it comes to the projects we accept and therefore only focus on innovative and complex projects. Because our customers are mainly specialized in machine construction, you often work close to the machines. Our team currently consists of Embedded engineers, IOT developers and Cloud engineers. We mainly work on Microsoft projects where WPF, UWP, .NET Core and Microsoft Azure are used. Eisen

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

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 »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

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 »

Back-end Developer (Permanent position with the em

Bedrijfsomschrijving Dutch specialist in technical installation materials. Functieomschrijving Purpose of the position: Our client is looking for a Back-end Developer who, together with the rest of the energetic and dynamic team, is responsible for the development and management of the website. This not only concerns the development and management of the current website, but also the development of a new Headless Commerce Platform to keep the customer's website Future proof. Within the IT department, there is a real DevOps culture and the commerce team is at the forefront and tries to implement continuous improvements. Most important tasks: ï‚· Designing and

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

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

25/04/2024 18:48:42
 
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.