Avatar billede mrcorex Nybegynder
11. april 2001 - 09:58 Der er 18 kommentarer og
1 løsning

MySQL på W2K Pro

Jeg har installeret MySQL 3.23 på min W2K Pro + PHP4. Alt ser ud til at fungere, MEN der er en funktion som er ændret.

Beskrivelsen i manual.txt sagde:
The following lists tell what you have to watch out for when upgrading to Version 3.23:
`mysql_num_fields()\' can no longer be used on a `MYSQL*\' object (it\'s now a function that takes `MYSQL_RES*\' as an argument. You should now use `mysql_field_count()\' instead.

Så mysql_num_fields() er lavet om til mysql_field_count(). Det er sådan set også OK, MEN denne funktion eksisterer ikke i PHP. Nu er det selvfølgelig nemt nok at nedgradere til MySQL 3.22, MEN den koster penge (så vidt jeg kunne se).

Hvad gør jeg?
Avatar billede disky Nybegynder
11. april 2001 - 10:06 #1
Det lyder mere som om du skulle finde en anden version af PHP eller skifte script sprog.

De problemmer har man f.eks. slet ikke i JSP
Avatar billede mortenfn Nybegynder
11. april 2001 - 10:21 #2
i php4 se den sådan ud

mysql_num_rows
Avatar billede mortenfn Nybegynder
11. april 2001 - 10:22 #3
mysql_num_fields ()
Avatar billede mortenfn Nybegynder
11. april 2001 - 10:22 #4
Avatar billede mortenfn Nybegynder
11. april 2001 - 10:24 #5
undskyld jeg sover:

mysql_num_rows()

http://dk.php.net/manual/function.mysql-num-rows.php
Avatar billede alvion Nybegynder
11. april 2001 - 11:10 #6
Er det ikke denne funktion du søger?

http://www.php.net/manual/en/function.mysql-num-fields.php
Avatar billede mrcorex Nybegynder
11. april 2001 - 11:26 #7
mortenfn>num_rows returnerer antal elementer. Jeg skal bruge antal felter.

disky>Nej, jeg vil ikke skifte sprog. Ikke på nuværende tidspunkt.

alvion>Hvis du havde læst og forstået.... kunne du se at jeg netop fortæller at i PHP4 hedder funktionen \"mysql_num_fields()\", men i MySQL kræver den en funktion som hedder \"mysql_field_count()\" og \"mysql_field_count()\" findes ikke i PHP4. Hvis jeg bruger \"mysql_num_fields()\" melder den fejl.

:)

/CoRex
Avatar billede mortenfn Nybegynder
11. april 2001 - 12:16 #8
mysql_num_rows()*kolonner  (altså rækker*kolonner)

det er det du vil have ?
Avatar billede disky Nybegynder
11. april 2001 - 12:17 #9
hvad mener du med antal felter ?

Mener du antal kolonner ?
Det ved du jo fra da du lavede basen
Avatar billede alvion Nybegynder
11. april 2001 - 12:24 #10
Du kan evt. gøre det, at når du henter den første row med mysql_fetch_row(), så bruger du count() på array\'et:

$row = mysql_fetch_row(...);

$field_count = count($row);

Kan det bruges?
Avatar billede mrcorex Nybegynder
11. april 2001 - 13:09 #11
disky>Fy da. Jeg ville da ikke oprette dette spm hvis det ikke var mere bag. *GRIN*. Desuden så hedder det felter/kolonner når man taler om databaser generelt. Hehe! Jeg kunne jo vende den om. Hvorfor er der en funktion som hedder \"mysql_num_fields()\" når man ved det da man lavede databasen. Hovsa, der var også ordet \"fields\" i funktions-navnet. fields = felter. Nå, spøg til side. Nu har jeg fået luft igen. Hehe!

Bare lige så alle ved det. Jeg har haft kørt med et API i et stykke tid som slog op i databasen. Det er et meget generelt API som slår op i både MSSQL, MySQL, ODBC med et kald \"db_exe($sql)\" og som returnerer et array inclusive felt-navne.

alvion>Du har fat i noget af det rigtige. Det kunne være jeg skulle kikke lidt mere på dette. Jeg vender tilbage. Foreløbig tak for hjælpen til ALLESAMMEN.

/CoRex

Avatar billede jd Nybegynder
13. april 2001 - 01:08 #12
Corex-> Kan du ikke bruge

mysql_query(\"SHOW FIELDS FROM din_tabel\"); ?
Avatar billede jd Nybegynder
13. april 2001 - 01:12 #13
disky-> Der er jo nogen der udvikler større/avancerede applikationer :)
Avatar billede mrcorex Nybegynder
13. april 2001 - 11:35 #14
alvion>Du foreslog at jeg skulle bruge count() og jeg har kikket lidt på min funktion. Den gjorde at uanset om jeg havde data i tabellen returnerede den et array og hvis ikke der var nogen data var det et array med count(1) den returnerede. Så jeg ændrede at den skulle returnere NULL hvis der ikke var nogen data. Det virkede fint. Hehe. Det er menneskeligt at fejle.

jd>Dit var meget afgørende for at min funktion kunne blive bedre. Mit API er efterhånden ved at blive rimeligt effektivt. Det kan være at jeg offentliggører det på et tidspunkt.

I deler point. Jeg har sat 30p mere på for at I begge 2 kan få point.

/CoRex
Avatar billede mrcorex Nybegynder
13. april 2001 - 11:38 #15
jd>Se på http://www.eksperten.dk/spm/63769 for at få point.

/CoRex
Avatar billede mrcorex Nybegynder
13. april 2001 - 11:41 #16
Hehe! Er det det man kalder cirkular reference:

Det rigtige link for jd er http://www.eksperten.dk/spm/64243

/CoRex
Avatar billede alvion Nybegynder
13. april 2001 - 12:14 #17
Takker og bukker :-)
Avatar billede jd Nybegynder
14. april 2001 - 01:52 #18
CoRex-> Vi vil da meget gerne se din API en gang :)
Avatar billede mrcorex Nybegynder
14. april 2001 - 10:22 #19
jd>Jaaa, det kan godt være, men ikke endnu. Det er det ikke godt nok til. Men jeg arbejder på hver gang jeg har tid. Men med kone + 3 børn.......
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester