PDO Rowcount check

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. 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

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Senior SQR Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 13333 Introductie Are you passionate about contributing to the world's most advanced machines. Do you thrive in a challenging environment working with highly motivated and skilled teams? If so, we have the perfect opportunity for you! We are seeking a Senior Software Design Engineer for Sequence Tooling to play a critical role in creating and maintaining mission-critical software applications. In this role, you will focus on achieving maintainable software architecture that is transparent and easy to extend while maintaining a strong focus on software quality. You will work closely with

Bekijk vacature »

Software Programmeur PHP

Functie Wij zijn op zoek naar een PHP programmeur voor een leuke opdrachtgever in omgeving Alblasserdam. Heb jij altijd al willen werken bij een bedrijf dat veilige netwerkverbindingen levert door middel van veilige oplossingen? Lees dan snel verder. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Tevens

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Cobol Developer

Dit ga je doen Als Cobol Ontwikkelaar zal je gaan meebouwen aan een onderdeel van het backend systeem waarbij je het functionele ontwerp vertaald naar een technische oplossing die geïntegreerd kan worden in de huidige omgeving. Je zorgt ervoor dat de bedrijfsprocessen op een efficiënte manier worden uitgevoerd en werkt proactief aan het verbeteren hiervan. Samen met jouw collega’s reviewen jullie elkaars code en test je je eigen code. Je werkt nauw samen met andere ontwikkelaars, testers en functioneel ontwerpers. Taken pakket: Beheren en doorontwikkelen van de bestaande omgeving; Vertalen van een functionele vragen naar een technische oplossing; Doorvoeren van

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

28/04/2024 22:40: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.