PDO execute en lastinsertid

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark Hogeveen

Mark Hogeveen

04/09/2013 20:55:56
Quote Anchor link
Hallo mensen,

Ik heb de laatste tijd veel problemen met PDO. Ik ben oude codes aan het vernieuwen en aan het kijken of ik er nog iets mee kan.
Nu heb ik 2 vragen over PDO waar ik nauwelijks het antwoord op vind op internet.
Vraag 1:
PDO heeft een method lastInsertId(), die geeft het id van het laatste record terug.
Wat is dat id? Ik dacht dat dit het id van de kolom "id" is. (De bekende auto_increment kolom) maar wat als een tabel geen id kolom heeft? En hoe weet PDO dat hij het id uit de juiste kolom haalt? Een kolom kan ook bijvoorbeeld user_id heten.
Of denk ik nu helemaal verkeerd en is lastInsertId iets heel anders?

Vraag 2:
Hoe doe je het aantal geselecteerde rijen van een SELECT query krijgen?
Ik zie steeds rowCount(), maar die method is alleen bedoeld om het aantal effected rows te krijgen. En wordt alleen gebruikt bij een insert, update of delete query. (dus het zelfde als mysql_effected_rows)
Hoe krijg ik net als bij mysql_num_rows, het aantal geselecteerde rijen?
En let op, graag niet met de manier dat je een array maakt van alle geselecteerde rijen, en dan het aantal elementen in de array telt, want dat kan slecht werken als je (bijvoorbeeld) een paar duizend, of zelfs miljoenen rijen selecteert.

Alvast bedankt voor jullie hulp.
Gewijzigd op 04/09/2013 20:56:49 door Mark Hogeveen
 
PHP hulp

PHP hulp

17/11/2024 13:27:50
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/09/2013 21:37:56
Quote Anchor link
vraag 1: inserted id is inderdaad het zojuist gegenereerde id van de auto_increment kolom. Als deze niet bestaat krijg je 0 terug.

vraag 2:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(*) AS aantal FROM pet;

geeft:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
+--------+
| aantal |
+--------+
|      9 |
+--------+
Gewijzigd op 04/09/2013 21:38:42 door Frank Nietbelangrijk
 



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.