Avatar billede winerror Nybegynder
19. april 2004 - 15:05 Der er 17 kommentarer og
1 løsning

noget mysql fejl - mysql_num_rows()

sider med et lille problem og kan ikke finde min fejl :S måskse nogen af jer der kan hjælpe mig lidt ?



Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /hsphere/local/home/dhk1234/om1time.dk/temp/include/objectdatabase.php on line 82

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /hsphere/local/home/dhk1234/om1time.dk/temp/include/objectdatabase.php on line 82




det er de fejl jeg nu får når det er :( coden ser så leds ud





<?php

// 2.0 Fetches connect information from includefile that must be included in master file
// 1.0 Needed database information from outside

class CObjectDatabase extends CObject
{
        var $resConn,$szSql;

        function GetClassName()
        {
                return "CObjectDatabase";
        }

        function & GetObject($nObjectId)
        {
                if ($nObjectId == OM_OBJECT_DATABASE)
                {
                        //$this->DebugWrite("Database object fetched");
                        return $this;
                }
        }

        // Forbinder til databasen definere i includedatabase.php
        // Hvis forbindelelsen ikke bliver oprettet returneres der FALSE
        function Connect()
        {
                if ($this->resConn)
                        return TRUE;

                $this->resConn = mysql_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD);
                if ($this->resConn)
                {
                        if (mysql_select_db(DB_DATABASE,$this->resConn))
                        {
                                return TRUE;
                        }
                }
                return FALSE;
        }

        // Returnerer en reference til databaseforbindelsen
        function & GetConn()
        {
                if (isset($this->resConn))
                        return $this->resConn;
                else
                        return FALSE;
        }

        // Udfører en SQL-forespørgsel på databasen
        function & Query($szSql)
        {
                // Hvis debugging er slået manuelt til for databaseobjektet
                // vises alle forespørgsler i debug-vinduet
                if ($this->bDebug)
                {
                        $this->DebugWrite($szSql);
                }

                // Kør forespørgsel
                $resQuery = mysql_query($szSql,$this->resConn);
                if (!$resQuery)
                {
                        $oDebug = &$this->oParent->GetObject(OM_OBJECT_DEBUG);
                        // Hvis forespørgslen ikke bliver udført skrives den til debug
                        if ($oDebug)
                                $oDebug->Write("Error in: " . $szSql);
                }
                return $resQuery;
        }

        // Udtrækker en associativ
        function & Fetch(&$resQuery)
        {
                return mysql_fetch_array($resQuery);
        }

        // Returnerer antallet af rækker i en resource
        function Count(&$resQuery)
        {
                return mysql_num_rows($resQuery);
        }

        // Returnerer hvor mange rækker der blev rørt af en forespørgsel
        function Affected()
        {
                return mysql_affected_rows($this->resConn);
        }

        function Reset(&$resQuery)
        {
                return mysql_data_seek(&$resQuery,0);
        }

        // Fjerne, indtil videre, risikoen med apostroffer
        function SqlEncode($szText)
        {
                $arrEncode = array("'" => "''","\\" => "\\\\");
                return strtr($szText,$arrEncode);
        }

        function GetMessage(&$oCaller,$oMessage,&$arrReplies)
        {
                switch ($oMessage->szName)
                {
                case OM_GET_CONN:
                        $arrReplies[] = &$this->resConn;
                        break;
                }
        }
};

?>




og fejl linje ser så leds ud

return mysql_num_rows($resQuery);

fatter ik lige hvorfor :( men måske nogen der kan hjælpe
Avatar billede dennismp Nybegynder
19. april 2004 - 15:08 #1
// Kør forespørgsel
                $resQuery = mysql_query($szSql,$this->resConn);
                if (!$resQuery)
                {
                        $oDebug = &$this->oParent->GetObject(OM_OBJECT_DEBUG);
                        // Hvis forespørgslen ikke bliver udført skrives den til debug
                        if ($oDebug)
                                $oDebug->Write("Error in: " . $szSql);
                }
                return $resQuery;

du gør faktisk ikke noget, hvis sql'en fejler.. (hvis $resQuery er false)
Avatar billede dennismp Nybegynder
19. april 2004 - 15:09 #2
når du så bruger $resQuery senere og denne er false, vil du få fejl i stil med:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

hver gang du bruger $resQuery i mysql-kald.
Avatar billede winerror Nybegynder
19. april 2004 - 15:11 #3
hmmm der er en eller anden fejl :( se selv www.om1time.dk/temp og så gå ind under priavt eller everhe og så kontakt....
Avatar billede dennismp Nybegynder
19. april 2004 - 15:15 #4
Ja, men fejlen stammer garanteret fra din mysql_query der fejler.. Og da du ikke laver et tjek eller skirver en fejl-meddelelse ud, så får du følge-fejl.

Prøv at erstatte:
$resQuery = mysql_query($szSql,$this->resConn);
med
$resQuery = mysql_query($szSql,$this->resConn) or die(mysql_error());

og se om det ændre noget
Avatar billede winerror Nybegynder
19. april 2004 - 15:17 #5
jeps nu skrivere den

Unknown column 'PAGE_ERHVERV_KONTAKT' in 'where clause'
Avatar billede dennismp Nybegynder
19. april 2004 - 15:18 #6
Der har du din fejl. Der er ikke noget felt ved det navn. Prøv at rette det, der for du laver din sql, og se om det ikke så virker efter hensigten
Avatar billede winerror Nybegynder
19. april 2004 - 15:19 #7
hvad menner du det forstår jeg ikke helt ud over at jeg kan se min fejl som du også skriver... eller forstår jeg ikke lige det andet :(
Avatar billede dennismp Nybegynder
19. april 2004 - 15:24 #8
Den tabel du select'er fra, har ikke en kolonne der hedder PAGE_ERHVERV_KONTAKT.
Avatar billede winerror Nybegynder
19. april 2004 - 15:28 #9
hmmm underligt nok.... for den skulle være der :S men kan jo være jeg har skravet forkert :( kan du hjælpe mig med at ratte fejl ?
Avatar billede dennismp Nybegynder
19. april 2004 - 15:29 #10
Hvordan ser din tabel ud? Og din sql der ikke virker?
Avatar billede winerror Nybegynder
19. april 2004 - 15:31 #11
hmm vis ud får pass, user osv... til mysql og til ftpen kan du prøve at rette det ? og vis ja så smid lgie din mail
Avatar billede dennismp Nybegynder
19. april 2004 - 15:38 #12
Jo, hvis du tør stole på mig :)

dennis@moellegaard.dk
Avatar billede winerror Nybegynder
19. april 2004 - 15:44 #13
sådan sendt ;) brae skrive her inde når det er du har rette det :) på forhånd tak
Avatar billede dennismp Nybegynder
19. april 2004 - 16:16 #14
Jeg tror det virker nu, jeg har tilføjet:

define("PAGE_PRIVAT_KONTAKT",14);
define("PAGE_ERHVERV_KONTAKT",15);

i filen
nyborgpagesinclude.php

det kan være der skal byttes om på dem
Avatar billede winerror Nybegynder
19. april 2004 - 16:54 #15
okay ;) jeps det ser ud til at virker :) 1000 takkere ;) du er gud :p hi hi her er dine 200 point som du har gjort dig fortjent til :)
Avatar billede winerror Nybegynder
19. april 2004 - 16:54 #16
hmm smid lige et svar :)
Avatar billede dennismp Nybegynder
19. april 2004 - 17:02 #17
Ok..

Hvad er det for et system i bruger? Er det noget i har fået udviklet?
Avatar billede winerror Nybegynder
21. april 2004 - 13:27 #18
hmmm det er ikke mit :) og ja det er den tidligere codere der sider bag :) hi ih og hmmm men ved ikke helt for maget af det linere fanme freeware code sådan som det er bygget op :S men donno...
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