is mysql_affected_rows() de juiste functie voor deze situatie?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Cygio

cygio

01/03/2009 21:38:00
Quote Anchor link
HoiHoi,

Ik wil graag controleren of mijn update query is uitgevoerd.
Dit lukt met affected rows, dus tot hier geen probleem.

Het volgende is wel het problem:
Middels een wijzigingsformulier kan ik gegevens in de database wijzigen,als het niet lukt om de gegevens te updaten in de db, dan krijg ik netjes de bijhorende fout.
Maar als ik wel het formulier verstuur, maar niets in de gegevens heb veranderd, dus precies zo terug stuur als het formulier uit de db kwam .
Dan krijg ik dezelfde fout als wanneer het updaten niet is gelukt.Logisch want er wordt niks in de dbrij veranderd.

Dit wil ik nu niet, hoe kan ik dit oplossen? een andere functie gebruiken of is er een andere manier

groet
 
PHP hulp

PHP hulp

17/11/2024 08:37:06
 
Frank -

Frank -

01/03/2009 21:48:00
Quote Anchor link
Quote:
Dan krijg ik dezelfde fout als wanneer het updaten niet is gelukt.

Dat is geen fout, er zijn gewoon 0 records bijgewerkt. mysql_affected_rows() geeft dan ook het aantal 0 door.

Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
//
if(mysql_affected_rows() === 0){
  // geen records bijgewerkt/verwijderd
} elseif(mysql_affected_rows() > 0) {
  // wel records bijgewerkt/verwijderd
} else {
  // query mislukt
}
?>

Foutafhandeling staat hier los van, dan is de query technisch mislukt.
 



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.