[PHP] # rows affected controleren*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • rmfloris
  • Registratie: Maart 2002
  • Laatst online: 22-11-2024

rmfloris

Kowalski: Kaboeeem??

Topicstarter
Ik heb een update query, als deze met succes wordt uitgevoerd dan hoeft daarna niks meer te worden gedaan, maar als hij niet met succes wordt uitgevoerd dan moet er een insert query worden uitgevoerd.

Ik heb al het volgende geprobeerd:

$result = mysql_query($query)

if ($result == 1)
en
if ($result == TRUE)
en
if ($result) // wat eigenlijk altijd opgaat, die ook als eerste afviel

maar ik ben er nog steeds niet uit, want hij geeft aan dat de update query altijd goed gaat, dit terwijl de tabel nog helemaal leeg is.

Foto afdrukken prijsvergelijk -> http://www.fotovergelijk.nl


Acties:
  • 0 Henk 'm!

Verwijderd

www.php.net/mysql-affected-rows

Het kan natuurlijk zijn dat de syntax van de query helemaal correct is, maar dat er simpelweg geen updates plaatsvinden (want: niet nodig, of er voldoen geen records aan je voorwaarden)

Acties:
  • 0 Henk 'm!

  • rmfloris
  • Registratie: Maart 2002
  • Laatst online: 22-11-2024

rmfloris

Kowalski: Kaboeeem??

Topicstarter
ik kende de functie van affected rows, maar deze is zeer langzaam als je een lijst van 500 woorden moet nagaan.

De query checked of een bepaald woord in de database voorkomt, zoniet wordt hij toegevoegd.

misschien een ander idee?

Foto afdrukken prijsvergelijk -> http://www.fotovergelijk.nl


Acties:
  • 0 Henk 'm!

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 08:29
Dit dus?

PHP:
1
2
3
4
5
6
7
$sql = "SELECT * FROM tabelnaam WHERE woord = \"".$nieuwwoord."\"";
$rs = mysql_query($sql);
if($rij = mysql_query($rs)) {
     $sql = "INSERT INTO bestelde_produkten ( woord) VALUES (\"".$nieuwwoord."\")";
     $result = mysql_query($sql);
     $affrows = mysql_affected_rows($result);
}


en dat is niet langzaam hoor.

[ Voor 16% gewijzigd door Eskimootje op 28-05-2003 16:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Om het even over de SELECT statement te hebben, als je wil controleren of er idd resultaten zijn, dan doe je gewoon:

if(mysql_num_rows($res) >= 1) { // er zijn resultaten }

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 28 mei 2003 @ 16:30:
Om het even over de SELECT statement te hebben, als je wil controleren of er idd resultaten zijn, dan doe je gewoon:

if(mysql_num_rows($res) >= 1) { // er zijn resultaten }
Je gaat een beetje voorbij aan het feit dat een update, insert of delete geen resultset teruggeeft ;)


mysql_affected_rows lijkt me de beste keus of gebruikmaken van de waarde van $result, evt kan je dat dmv === true doen, dan checked ie ook of het een echte boolean is.
Pagina: 1