pdo update query werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Dit ga je doen 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 voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van één van de applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je

Bekijk vacature »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

.NET Developer

Functie De perfecte combinatie tussen techniek en vastgoed. Werk samen met de senior software developer om allerlei software van fluX te verbeteren. Gelukkig voel jij je helemaal thuis in de codewereld van .NET. Dus of je nu bezig bent met het verhogen van de conformiteitscore of het automatiseren van allerlei taxatiemodellen, jij weet precies hoe je de doelstellingen realiseert. En dat terwijl je ook samenwerkt met een extern ontwikkelteam. Waar dit team bepaalde softwaresystemen ontwikkelen, richt jij je vooral op onze Nederlands georiënteerde producten en alle wetgeving die daarbij komt kijken. Voor minimaal 32 uur per week verrijk jij onze

Bekijk vacature »

Senior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving 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! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Laravel 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 »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »
Tortuga web

tortuga web

22/08/2014 11:24:51
Quote Anchor link
Ik heb vanalles nagezocht, maar krijg niet gevonden waarom de query niet werkt. Dit is wat ik heb:
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
//Connect to the dBase
require_once ('link to de dBase-connectionFile');
$sql_update = "UPDATE socios
    SET 'nombre' = :nombre,
    'apellidos' = :apellidos,
    'socio' = :socio,
    'email' = :email,
    'dni' = :dni
    WHERE
    'id' = $id";
$stmt = $db->prepare($sql_update);
$stmt->execute(array(':nombre'=>$nombre,
        ':apellidos'=>$apellidos,
        ':socio'=>$socio,
        ':email'=>$email,
        ':dni'=>$dni));
if($stmt->rowCount() == 0) {
    throw new PDOException ('Er zijn geen rijen gewijzigd in de UPDATE query');
}

De foutmelding geeft:
"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; near:''nombre' = 'XXXX', 'apellidos' = 'XXX XXX', 'socio' = '00' at line 3"
Ik kom er niet uit
 
PHP hulp

PHP hulp

27/05/2026 10:27:52
 
Gerhard l

gerhard l

22/08/2014 11:27:57
Quote Anchor link
Er hoeven toch geen aanhalingstekens om nombre, appellidos enz.
 
Tortuga web

tortuga web

22/08/2014 11:32:43
Quote Anchor link
Ik heb ze weggehaald en inderdaad, de PDOerror is nu opgelost, maar de update is niet uitgevoerd, want krijg nu de melding: 'Er zijn geen rijen gewijzigd in de UPDATE query'.
Gewijzigd op 22/08/2014 11:33:46 door tortuga web
 
Gerhard l

gerhard l

22/08/2014 11:38:05
Quote Anchor link
Probeer de error op te vangen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
try {
    //code
} catch (PDOException $e) {
    throw new pdoDbException($e);
}
 
Ivo P

Ivo P

22/08/2014 11:41:44
Quote Anchor link
zijn er records met id = $id

en wat is de waarde van de ingevulde kolommen vooraf?
is dat wel anders dan wat het moet worden?

stel x = 10 voor rij met id = 1;
UPDATE tabel
SET x = 11
WHERE id = 1;
>> affected rows = 1

UPDATE tabel
SET x = 11
WHERE id = 1;
>> affected rows = 0
er is namelijk niets veranderd in de database.
 
Tortuga web

tortuga web

22/08/2014 11:43:28
Quote Anchor link
De foutmelding die ik nu krijg is uit de "if($stmt->rowCount() == 0) (regel 17 in de code hierbboven)
Daaronder heb ik een catch met de gebruikelijke PDOexceptions, waar ik de vorige foutmeldimng vandaan had. Dus daar wordt nu geen fout gegenereerd.

Toevoeging op 22/08/2014 11:50:17:

Oke, ik haal eerst de record op en stop die gegevens in een formulier. Dit werkt. In het formulier heb ik ook een hidden field (voor nu even zichtbaar) waar ik de id (autoincrement) uit de tabel in stop. Ook dit werkt. Ik zie alles goed opgehaald. Vervolgens wijzig ik één veld, (bv. nombre), maar deze wijziging wordt dus niet doorgevoerd. (voor de volledigheid heb ik ook de gegevens gecontroleerd in phpmyadmin). Kan het zijn dat ik iets niet goed doe met de $id, die heb ik weer terug opgehaald uit het formulier met $_POST['id']
 
Ivo P

Ivo P

22/08/2014 12:19:31
Quote Anchor link
op zich is het natuurlijk niet een fout of een exception (voor php) dat de query 0 rijen aanpast.

Als de query een fout oplevert, dan wel.

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
<?php
$gelukt
= $stmt->execute( ... );

if(!$gelukt) {
   echo 'query is mislukt: <pre>';
   print_r($stmt->errorInfo();
   echo '</pre>';
}

else {
 if($stmt->rowCount() == 0) {
   echo 'er zijn geen rijen aangepast, maar dit is geen echte fout';
}


?>
Gewijzigd op 22/08/2014 12:20:10 door Ivo P
 
Tortuga web

tortuga web

22/08/2014 13:58:24
Quote Anchor link
Dat klopt. Daarom lijkt het alsof er niets mis is met de syntax, maar deze query zou wél een update van de gegevens uit moet voeren. En dat doet ie niet, maar ik snap niet waarom niet.
 
Gerhard l

gerhard l

22/08/2014 14:31:54
Quote Anchor link
Heb je bovenstaande code van Ivo P al uitgevoerd? Welke melding komt daaruit?
 
Tortuga web

tortuga web

22/08/2014 14:37:42
Quote Anchor link
Dat er geen rijen zijn aangepast
 
Ivo P

Ivo P

22/08/2014 16:05:09
Quote Anchor link
als er geen rijen zijn aangepast dan

* is de query dus qua syntax goed
* matcht alles met bestaande kolommen en tabelnamen
* heb je connectie met de database

Dat er niets is aangepast:
* er zijn geen rijen die voldoen aan de wHERE-eisen: id = $id
* er zijn wel records, maar daaraan is in feite niets aangepast.

geef je huidige script (zoals in de openingspost) nog eens.
 
Tortuga web

tortuga web

22/08/2014 16:15:30
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
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$id=$_POST['id'];
try {
    //Connect to the dBase
    require_once ('connect.php');
    //Make update-query for the dBase
    $sql_update = "UPDATE socios
            SET
            nombre = :nombre,
            apellidos = :apellidos,
            socio = :socio,
            email = :email,
            dni = :dni
            WHERE
            'id' = $id";
    $stmt = $db->prepare($sql_update);
    $stmt->execute(array(':nombre'=>$nombre,
            ':apellidos'=>$apellidos,
            ':socio'=>$socio,
            ':email'=>$email,
            ':dni'=>$dni));
    if($stmt->rowCount() == 0) {
        throw new PDOException ('Er zijn geen rijen gewijzigd in de UPDATE query');
    }
}
catch (PDOException $e) {
    echo '<pre>';
    echo 'Regel: ' . $e->getLine() . '<br />';
    echo 'Bestand: ' . $e->getFile() . '<br />';
    echo 'Foutmelding: ' . $e->getMessage();
    echo '</pre>';
}

De gegevens in het formulier die verzonden worden met method="post", worden opgehaald uit de dBase met een selectquery, ook de id zie ik juist weergegeven. De id in de dBase is autoincrement, dus blijft identiek, maar verzekerd mij er van dat er maar 1 record aangepast wordt, nl. die met die specifieke id.
Gewijzigd op 22/08/2014 16:20:51 door tortuga web
 
Gerhard l

gerhard l

22/08/2014 16:19:35
Quote Anchor link
Bij de where hoeft om id ook geen aanhalingstekens. En je geeft geen :id mee.
Gewijzigd op 22/08/2014 16:20:15 door gerhard l
 
Tortuga web

tortuga web

22/08/2014 16:26:06
Quote Anchor link
Ja, foutje, heb ze weggehaald.
als ik ingeef:
WHERE id=:id, dan krijg ik wel een pdo-errormessage, nl: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens op regelnr.20
als ik doe: where id=$id, waarbij $id=$_POST['id'], dan krijg ik de melding dat er niks is aangepast. Dus ik vermoed dat het daarmee te maken heeft, maar ik weet niet hoe ik het moet aanpassen.
 
Gerhard l

gerhard l

22/08/2014 16:36:38
Quote Anchor link
Verander eerst regel 14 in id = :id. Daarna :id => $_POST['id']mee geven in de array op regel 16. Als er dan niets verandert, kijken of $_POST['id'] is wat je verwacht.
 
Tortuga web

tortuga web

22/08/2014 16:38:18
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$stmt->execute(array(':nombre'=>$nombre,
        ':apellidos'=>$apellidos,
        ':socio'=>$socio,
        ':email'=>$email,
        ':dni'=>$dni,
        ':id'=>$id));

Ik heb de oplossing gevonden. Waarschijnlijk heb ik steeds over het hoofd gezien dat de aanhalingstekens bij id er nog stonden, want ik had deze oplossing al eerder geprobeerd, maar met foutmeldingen. Dus nu is het oed.
Dank voor jullie hulp.
 



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.