PDO Rowcount check

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Team Lead/ Lead developer gezocht (Hands-on, PHP,

Functie Als Team Lead ben je de leider van één van de ontwikkelteams binnen de organisatie. Je leidt als lead developer een goed draaiend team dat werkt aan complexe en duurzame applicaties en API’s. Vanuit je kennis en ervaring ben je in staat het grote plaatje te blijven overzien, en kritisch mee te denken over bijvoorbeeld de architectuur, maar ook de algehele aanpak binnen het project. Je laat je team niet alleen technisch goed functioneren maar ben ook betrokken bij het menselijke aspect. Zo weet jij je collega’s te motiveren en begeleiden in hun dagelijkse werk. Buiten het team ben

Bekijk vacature »

C#.NET ontwikkelaar

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

PHP Developer - medior functie

Functieomschrijving Ben jij innovatief en wil jij je kennis graag delen met jouw nieuwe collega's? Lees dan snel verder! Voor een leuke opdrachtgever in de omgeving van Roosendaal zoeken wij een Symfony developer. Of je nou junior, medior of senior bent, je krijgt hier alle vrijheid en verantwoordelijkheid om jouw eigen loopbaan te ontwikkelen. Je gaat je hier bezig houden met en inspelen op de actualiteiten van jouw vakgebied. Techstack: Symfony, PHP, mySQL. Kennis van Svelte is helemaal mooi meegenomen. Bedrijfsprofiel Al sinds '99 is dit webbureau actief. De kernwaarden binnen het bedrijf zijn integer, dienstbaar en deskundig. Je komt

Bekijk vacature »

.NET Developer

Functie omschrijving Ervaren .NET Developer gezocht! Wij zoeken een ervaren .NET developer die aan de slag gaat voor een softwarebedrijf in de regio Rhenen. In deze rol ben jij zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Daarnaast houdt jij je bezig met de nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en product specialisten om mooie producten te creëren. Bedrijfsprofiel Waar kom je te werken? Je komt te werken voor snelgroeiende softwareleverancier en allround dienstverlener. Klanten van deze

Bekijk vacature »

Medior/senior Front-end developer

Functie Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

Developer (One Data)

Do you have experience with managing IT Teams in a service delivery organization? Are you keen to bring the team and our platform to a higher level? Then Nutreco has a very interesting role for you! As a One Data developer you are responsible for the management, running and functional use of our integration landscape and processes within Nutreco. Nutreco is using at this time BizTalk 2016, and Apigee for its API management, to be replaced by Azure Integration Services as of 2023. You will be part of a virtual teams of 11 people (own and outsourced) working in an

Bekijk vacature »

Software developer

Werkzaamheden voor jou als software developer Voor een goede relatie in de regio Zwolle (meerdere locaties) zoeken wij een software developer die betrokken is bij de ontwikkelcyclus en verantwoordelijk is voor het testen en keuren van nieuwe en geoptimaliseerde software. In deze functie ben je in de implementatiefase de persoon die risico's beoordeelt en intern oplossingen aanbrengt om risico's te verkleinen. Binnen het ontwikkelteam van de software ben je een belangrijke schakel waar je intensief meewerkt met scrum. Het voorkomen van bugs in de programma's en het bevorderen van gebruiksvriendelijkheid voor eindklanten zijn voor jou een uitdaging en geeft voldoening

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

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 »

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

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

21/11/2024 19:21:04
 
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.