Seite 1 von 2

libmysql + mysql_num_rows liefert nur 0!

Verfasst: 06.09.2005 11:15
von Purebat
Hallo Leute!

Ich habe ein kleines Problem...
Ich arbeitet zur Zeit an einem MySQL Programm unter Mac OS X.
Das Problem ist, dass die Funktion mysql_num_rows mir nur 0en zurück gibt.
Auch wenn mehrere Datensätze in einer Tabelle vorhanden sind?!

Woran kann es liegen?!

Code: Alles auswählen


Procedure MySQL_Num_Rows()
 *mysqlResult=CallFunction(#sql,"mysql_store_result",dbHnd)

  rows = CallFunction(#sql,"mysql_num_rows",*mysqlResult)
  ProcedureReturn rows

EndProcedure

Danke schonmal im vorraus!

MfG
Sebastian

Verfasst: 06.09.2005 12:58
von edel
Was liefert denn mysql_error ?

Verfasst: 06.09.2005 16:30
von Purebat
Nichts, dass ist das Problem

Verfasst: 06.09.2005 20:06
von PAMKKKKK
www.MySQL.de hat geschrieben:The use of mysql_num_rows() depends on whether you use mysql_store_result() or mysql_use_result() to return the result set. If you use mysql_store_result(), mysql_num_rows() may be called immediately. If you use mysql_use_result(), mysql_num_rows() does not return the correct value until all the rows in the result set have been retrieved.
Das soll heissen das mysql_num_rows() sofort aufgerufen werden kann (wird) wenn man mysql_store_result() benutzt. Benutzt man mysql_use_result() wird der Rückgabewert nicht korrekt sein bis alle Zeilen erfasst sind.

Villeicht hilft das weiter?

Poste mal den mehr Code nicht nur den dll Call!

Verfasst: 06.09.2005 23:31
von Purebat
Nein leider nicht weil ich mysql_store result benutze...

es ist total komisch....

muss ich morgen machen, da der source auf der arbeit ist.

Verfasst: 07.09.2005 09:10
von Purebat
So, hier ist ein bisl mehr code

Code: Alles auswählen

If OpenLibrary(#sql,"libmysqlclient.dylib")
  MySQLInit()

  MySQLConnect()

  MySQLQuery("SELECT * FROM user")


  mysql_store_result()
  num_fields = mysql_num_fields()


Dim row.s(20)  
row = mysql_fetch_row()

MessageRequester("Hallo",row(1))

Verfasst: 20.09.2005 02:39
von nicolaus
habe das selbe prob und bekomme auch immer 0 zurück. wo finde ich eigentlich ne doku zu der libmysql.dll?

Verfasst: 20.09.2005 03:30
von edel

Verfasst: 20.09.2005 20:04
von PAMKKKKK
Ich habe auch keine Lösung :(

Verfasst: 25.09.2005 04:13
von nicolaus
so nach viel probieren bin ich dahinter gestiegen was das prob mit mysql_num_rows ist.

und zwar hängt es mit der function mysql_use_result zusammen das num_rows nicht geht (oder besser nich so wie wirs versucht haben). wenn man mit mysql_use_result arbeitet muß man erst alle zeilen der tabelle durchlaufen haben bis man mit mysql_num_rows die gesamtzahl an rows bekommt.
wenn man anstelle von mysql_use_result die function mysql_store_result benutz bekommt man die anzahl der rows sofrt gezeigt und muß nich erst alle zeilen durchlaufen haben.

hoffe es hilft euch nun auch weiter
:wink:

Nico