Avatar billede keplerdreng Nybegynder
15. juni 2006 - 10:44 Der er 9 kommentarer og
1 løsning

missing argument

Hejsa

Jeg er i den heldig situation at jeg har overtaget et site fra en anden. Og med ro i sindet kan jeg godt sige at det er meget længe siden jeg har siddet med det :(

men jeg får en fejl som jeg ikke lige kan gennemskue og håber der er en flink person til at hjælpe.

function getRecentProfiles($reclimit)
    {
        $recentProfiles=array();

        $sqlQuery_recentprof="select p.profileId, courseName, sp.specialization, courseYear, st.firstname, st.lastname, st.email, p.profilestatus, regdate, modifiedOn from profileInfo p, courseInfo c, specialization sp, studentInfo st where p.username=st.username and st.courseId=c.courseId and st.specialization=sp.specializationId order by p.profileid desc limit ". $reclimit;
        $result_recentprof=mysql_query($sqlQuery_recentprof);
        $num_rows_recentprof=$reclimit;
        if(!$result_recentprof)
        {
            echo("Error in getting recent profile");           
        }

Gir fejlen Missing argument 1 for getRecentProfiles()
Avatar billede dimsushi Nybegynder
15. juni 2006 - 10:51 #1
Når du kalder funktionen skal du give den et argument som du bruger i din mySQL forspørgsel til at begrænse antallet returnerede rækker. Hvis du vil have 5 rækker kan det være:

$info = getRecentProfiles(5);

Håber det hjælper? :)
Avatar billede barklund Nybegynder
15. juni 2006 - 10:53 #2
Af tåbelige årsager er PHP's fejlhåndtering lavet sådan, at hvis du et sted kalder:

getRecentProfiles()

Og altså mangler at angive $reclimit, så rapporterer PHP en fejl, hvor funktionen er defineret. Fejlen rapporteres ikke hvor funktionen bliver kaldt forkert - hvilket man ville kunne bruge til noget.

En mulig løsning er at default'e argument til noget:

function getRecentProfiles($reclimit=10)

Den rigtige løsning er at søge efter getRecentProfiles() i alle dine file for at finde det sted, hvor funktionen kaldes uden korrekt parameter.

--
Morten Barklund
Avatar billede keplerdreng Nybegynder
15. juni 2006 - 11:18 #3
Jeg tror i begge forklarede det samme på hver sin måde, men om ik andet kom jeg et skridt videre med at lave den til default 10.

så tak for hjælpen begge, smid et svar :)
Avatar billede dimsushi Nybegynder
15. juni 2006 - 11:38 #4
Svar :)
Avatar billede barklund Nybegynder
15. juni 2006 - 12:44 #5
Hm, det nåede jeg så ikke :(
Avatar billede keplerdreng Nybegynder
15. juni 2006 - 13:11 #6
barklund, min fejl :(

men jeg kom lidt vidre og fik så en ny fejl jeg ikke kunne klare

Kode:<form name="loginform" id="loginform" method="POST" action="<?=$_SERVER['../../../Members/English/PHP_SELF']?>?action="validate" onsubmit="return validateForm()">

Fejl:Undefined index: ../../../Members/English/PHP_SELF
Avatar billede barklund Nybegynder
15. juni 2006 - 14:11 #7
det ser godt nok også mærkeligt ud...

Jeg gætter på, at der skulle stå:

$_SERVER['PHP_SELF']

:)
Avatar billede keplerdreng Nybegynder
15. juni 2006 - 14:26 #8
barklund - u tha man :)

smid et svar og du skal få dine fortjente points :)
Avatar billede barklund Nybegynder
15. juni 2006 - 14:43 #9
Man kan jo ikke smide flere svar, når du har accepteret et :)
Avatar billede keplerdreng Nybegynder
15. juni 2006 - 14:49 #10
ohh - der fik jeg afsløret min egen udvidenhed. Beklager du ikke fik før så :(
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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