Avatar billede tobrukDk Novice
25. maj 2012 - 23:52 Der er 11 kommentarer og
2 løsninger

mysqli_stmt::store_result() expects exactly 0 parameters,

hej

det er sådan at jeg er i gang med at bygge en indstillinger side til brugere hvor jeg hente deres infomation nede så de er fri for at ret i det/skrive det igen og igen. ;) så er det sådan at den kommer frem til en den her fejl på siden "Warning: mysqli_stmt::store_result() expects exactly 0 parameters, 7 given in /home/jesperbo/public_html/,,,,.dk/bruger_indstillinger.php on line 45"

det vil sige her


$stmt->store_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);



sådan her ser det ud lige nu omkring til at hente det nede fra databasen, jeg har ikke fået bygge det op endnu til at den skal updater det .


<form method="post">
            <?php
            if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`, `profiltekst`, `facebook`, `pris`, `booking`, `mobil` FROM `brugere` WHERE `email` = ?')) {
            $stmt->bind_param("s", $email);
              $email = $_SESSION["email"];
            $stmt->execute();
            $stmt->store_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
            ?>
            <table border="0">
                    <tr>
                        <td id="tb-w_a"><p>Email</p></td>
                        <td>:</td>
                        <td><input type="email" name="email" value="<?php echo $email;?>"/></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Djnavn</p></td>
                        <td>:</td>
                        <td><input type="text" name="djnavn" value="<?php echo $djnavn;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Facebook</p></td>
                        <td>:</td>
                        <td><input type="text" name="facebook" value="<?php echo $facebook;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Pris</p></td>
                        <td>:</td>
                        <td><input type="text" name="pris" value="<?php echo $pris;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Booking Email</p></td>
                        <td>:</td>
                        <td><input type="email" name="booking" value="<?php echo $booking;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Mobil</p></td>
                        <td>:</td>
                        <td><input type="text" name="mobil" value="<?php echo $mobil;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Upload Profil</p></td>
                        <td>:</td>
                        <td><input type="file" name="file" /></td>
                    </tr>
            </table>
            <textarea name="profiltekst" style="width:500px; height:170px;"><?php echo $profiltekst;?></textarea><br />
            <input type="submit" value="Godkend brugere" name="godkendt-brugere">
            <?php
            $stmt->close();
            }
            ?>
            </form>
Avatar billede moddi100 Seniormester
26. maj 2012 - 01:30 #1
Fejlbeskeden siger det hele til dig. Funktionen tager ikke nogle parametre, men skal derimod anvendes på en anden måde.

$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}


Se det fulde eksempel fra manualen og store_result().

Jeg gætter desuden på, at du har tænkt på mysqli_stmt_bind_result() da du skrev koden.
Avatar billede tobrukDk Novice
26. maj 2012 - 02:04 #2
Jeg synes det ser meget forkert ude på en måde,

det må næsten kunne lade dig gøre at den bliver gjort på den her måde


<form method="post">
            <?php
            if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`, `profiltekst`, `facebook`, `pris`, `booking`, `mobil` FROM `brugere` WHERE `email` = ?')) {
            $stmt->bind_param("s", $email);
              $email = $_SESSION["email"];
            $stmt->execute();
            $stmt->store_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
            ?>
            <table border="0">
                    <tr>
                        <td id="tb-w_a"><p>Email</p></td>
                        <td>:</td>
                        <td><input type="email" name="email" value="<?php echo $email;?>"/></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Djnavn</p></td>
                        <td>:</td>
                        <td><input type="text" name="djnavn" value="<?php echo $djnavn;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Facebook</p></td>
                        <td>:</td>
                        <td><input type="text" name="facebook" value="<?php echo $facebook;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Pris</p></td>
                        <td>:</td>
                        <td><input type="text" name="pris" value="<?php echo $pris;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Booking Email</p></td>
                        <td>:</td>
                        <td><input type="email" name="booking" value="<?php echo $booking;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Mobil</p></td>
                        <td>:</td>
                        <td><input type="text" name="mobil" value="<?php echo $mobil;?>"></td>
                    </tr>
                    <tr>
                        <td id="tb-w_a"><p>Upload Profil</p></td>
                        <td>:</td>
                        <td><input type="file" name="file" /></td>
                    </tr>
            </table>
            <textarea name="profiltekst" style="width:500px; height:170px;"><?php echo $profiltekst;?></textarea><br />
            <input type="submit" value="Godkend brugere" name="godkendt-brugere">
            <?php
            $stmt->close();
            }else {
                /* Der er opstået en fejl */
                echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
            }
            ?>
            </form>



#1 jeg synes den ser meget forkert ud til det som jeg skal bruge den til overhovede og det hele taget på en måde :)
Avatar billede tobrukDk Novice
26. maj 2012 - 02:05 #3
Jeg er næsten 95% sikker på at det er noget med det her at gøre her?


<?php
            if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`, `profiltekst`, `facebook`, `pris`, `booking`, `mobil` FROM `brugere` WHERE `email` = ?')) {
            $stmt->bind_param("s", $email);
              $email = $_SESSION["email"];
            $stmt->execute();
            $stmt->store_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
            ?>
Avatar billede moddi100 Seniormester
26. maj 2012 - 10:43 #4
Fejlen "Warning: mysqli_stmt::store_result() expects exactly 0 parameters, 7 given in /home/jesperbo/public_html/,,,,.dk/bruger_indstillinger.php on line 45" hentyder til din line nummer 45, som er:
$stmt->store_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);


Du anvender her den forkerte funktion, som jeg også skrev i #1. Hvis du erstatter ovenstående linje med følgende burde det virke:
$stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);


Se mere på mysqli-stmt.bind-result.php
Avatar billede tobrukDk Novice
26. maj 2012 - 16:47 #5
#4 så kommer en fejl frem og siger ;

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes) in /home/jesperbo/public_html/......dk/bruger_indstillinger.php on line 45
Avatar billede tobrukDk Novice
26. maj 2012 - 23:37 #6
skulle gøre sådan her


$stmt->store_result(); // gem resultsettet "lokalt" så php kender datatyper/størrelse

$stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
Avatar billede moddi100 Seniormester
27. maj 2012 - 01:36 #7
<?php
            if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`, `profiltekst`, `facebook`, `pris`, `booking`, `mobil` FROM `brugere` WHERE `email` = ?')) {
            $stmt->bind_param("s", $email);
              $email = $_SESSION["email"];
            $stmt->execute();
            $stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
            $stmt->fetch();

            // Fortsæt din kode herfra. Alt data er nu hentet
            ?>
Avatar billede tobrukDk Novice
27. maj 2012 - 13:33 #8
Nej det fuck op der efter..
Avatar billede moddi100 Seniormester
27. maj 2012 - 14:09 #9
Så prøv lige at paste din kode ind her igen. Derudover skal du også lige kigge på de links jeg skrev til dig før. Hvis du ikke kigger på manualen, hvordan skal du så lære syntaksen?
Avatar billede tobrukDk Novice
27. maj 2012 - 17:30 #10
jamen det virker helt fint nu efter som gøre sådan her


$stmt->store_result(); // gem resultsettet "lokalt" så php kender datatyper/størrelse

$stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
Avatar billede tobrukDk Novice
28. maj 2012 - 12:41 #11
lige et svar så del vi point, jeg synes du har være til at god hjælp fra din side .. :D du få 15 og jeg tag 10
Avatar billede moddi100 Seniormester
28. maj 2012 - 14:11 #12
Fair nok. Glad for at du fik det til at virke :)
Avatar billede tobrukDk Novice
28. maj 2012 - 14:40 #13
Ja, godt nok, jeg synes du skal have 5 point mere da det kunne har været dig.. :D
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
Kurser inden for grundlæggende programmering

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