Avatar billede trp79 Nybegynder
29. marts 2006 - 16:35 Der er 4 kommentarer og
1 løsning

Undelig løkke ved udtræk af mysql db med mysqli (oo-aproach)

Hejsa
Jeg har understående kode. Den resulterer dog i en evig løkke men det forstår jeg ikke lige hvorfor(se også resultat nedenfor) - håber nogen kan forklare. Der er kun en række i den tabel udtrække laves fra.

Kode:
<html>
    <head>
        <title>Problem Set 8 - Commentary Service—database transactions via web forms/title>
        <link rel="stylesheet" type="text/css" href="../common.css" media="screen" />
    </head>
    <body>
        <div id="banner">
            <?php require("../banner.php"); ?>
        </div>

        <div id="indhold">
            <h1>Problem Set 8 - Commentary Service—database transactions via web forms</h1>
            <?php
            ps8_getCom();

            function ps8_getCom() {
                $db = db_connect();
                $qResult = db_query("SELECT id, url, insertdate, name, email, text FROM Comments WHERE url like 'http://www.itu.dk%'", $db);
                echo "antal: $qResult->num_rows";
                //$res = new array();
                $n = $qResult->num_rows;
                for($i=0; i<$n; $i++) {
                    $row = $qResult->fetch_assoc();
                    echo '<p>'+$i;
                    echo htmlspecialchars(stripslashes($row['url']));
                    echo '</p>';
                    $res[$i] = $row;
                }

                db_freeResult($qResult);
                db_closeConnection($db);
                echo 'Done';
            }

            function error($msg){
                echo '<p>'.$msg.'</p>';
            }


            function db_connect() {
                @ $db = new mysqli('localhost', 'torben', 'skidefrans', 'W2_F2006_trp');

                if(mysqli_connect_errno()) {
                    error("Could not connect to database");
                }
                return $db;
            }

            function db_query($sql, $db) {
                return $db->query($sql);
            }

            function db_freeResult($result) {
                $result->free();
            }

            function db_closeConnection($db) {
                $db->close();
            }
            ?>
            aa
        </div>

    </body>
</html>

resultat:
<html>
    <head>
        <title>Problem Set 8 - Commentary Service—database transactions via web forms/title>
        <link rel="stylesheet" type="text/css" href="../common.css" media="screen" />
    </head>
    <body>
        <div id="banner">
            <table width="100%">
    <tr>
        <td align="left"><h3 class="obs red">Torben Pedersen</h3></td>
        <td align="center"><h3 class="obs red">W2</h3></td>
        <td align="right"><a href=mailto:trp@itu.dk><h3 class="obs red">trp@itu.dk</a></h3></td>
    </tr>
</table>        </div>

        <div id="indhold">
            <h1>Problem Set 8 - Commentary Service—database transactions via web forms</h1>
            antal: 10http://www.itu.dk/people/trp/w2/index.html</p>1</p>2</p>3</p>4</p>5</p>6</p>7</p>8</p>9</p>10</p>11</p>12</p>13</p>14</p>15</p>16</p>17</p>18.... osv...
Avatar billede erikjacobsen Ekspert
29. marts 2006 - 17:04 #1
for($i=0; $i<$n; $i++) {
Avatar billede trp79 Nybegynder
29. marts 2006 - 17:32 #2
Jøsses en tosset fejl! Man skal da godt nok lige vende sig til den vage initialisering i php....
Avatar billede erikjacobsen Ekspert
29. marts 2006 - 17:39 #3
Med korrekt indstilling af PHP vil du få et advarsel, men det er nu ikke så tit man ser det - især ikke på webhoteller. Svar selv, accepter eget svar. Jeg samler ikke på jordnødder. ;)
Avatar billede trp79 Nybegynder
29. marts 2006 - 17:40 #4
Så vil jeg sige tak for hjælpen :)
Avatar billede trp79 Nybegynder
29. marts 2006 - 17:40 #5
og lige smide et svar på det!
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