Avatar billede tobrukDk Novice
27. maj 2012 - 18:24 Der er 6 kommentarer og
1 løsning

kan ikke få infomation ude af databasen

Hejsa der ude... :)


Lige nu er jeg pt i gang med brugere del til min hjemmeside og jeg har problemer.


jeg har problemer med at den skal hente infomation ude fra databasen til brugere sådan at man ikke skal skrive det samme infomation igen og igen når man f.eks bare skal updater f.eks navn eller andet. så vil det være meget ret og dejligt at man bare kunne slip fra det eller hvordan man skal forklare det.. :)

Se koden her


<?php
                    include ("include/database/db.php");
                    if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`, `profiltekst`, `facebook`, `pris`, `booking`, `mobil` FROM `brugere` WHERE `email` = ?')) {
                    $stmt->bind_param('s', $email_s);
                    $email_s = $_SESSION["email"];
                    $stmt->execute();
                    $stmt->store_result();
                    $stmt->bind_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>
                    </table>
                    <textarea name="tekst" style="width:500px; height:170px;"><?php echo $profiltekst;?></textarea><br />
                    <input type="submit" value="updater">
                    <?php
                    $stmt->close();
                        } else {
                            /* Der er opstået en fejl */
                            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                        }
                    ?>


jeg har lavet et lille styk til at start med sådan at jeg kan se om det virker eller ej, men nu lige virker det overhovedet ikke og vil ikke vise det frem på nogle måde overhovedet

Det er kun email som vil vise sig frem på siden..


Håber du kan hjælp mig :D
Avatar billede olsensweb.dk Ekspert
27. maj 2012 - 19:51 #1
får du nogle fejl ??
du mangler et komma efter djnavn i din $stmt->bind_result
$stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
hvis det ikke er nok prøv med en fetch();


<?php
    include ("include/database/db.php");
    if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`, `profiltekst`, `facebook`, `pris`, `booking`, `mobil` FROM `brugere` WHERE `email` = ?')) {
        $stmt->bind_param('s', $email_s);
        $email_s = $_SESSION["email"];
        // $email_s = "abc@test.dk";
        $stmt->execute();
        // $stmt->store_result();       
        $stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);       
        /* fetch value */
        $stmt->fetch(); // tilføjet
?>
..........
Avatar billede tobrukDk Novice
27. maj 2012 - 20:29 #2
nej der kommer ingen fejl før endnu til at jeg tog den kode,

og omkring email så har jeg prøve at gøre sådan her



<?php
    /* Opret et prepared statement */
    if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`/*, `profiltekst`, `facebook`, `pris`, `booking`, `mobil`*/ FROM `brugere` WHERE `email` = ?')) {
    $stmt->bind_param('s', $email_s);
    $email_s = $_SESSION["email"];
    $stmt->execute();
    echo 'Fejl: '.$stmt->error.'<br>';
    echo 'Email: '.$_SESSION["email"];
    $stmt->store_result();
    $stmt->bind_result($email, $djnavn/* $profiltekst, $facebook, $pris, $booking, $mobil*/);
?>


som olebole har skrevet til mig privat ;)
der udeskriver den ingen fejl overhovedet.. men kommer frem med email


men efter jeg tilføj det som du skrive i din kode så komme der fejl

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes) in /home/jesperbo/public_html/xxxxxxx.dk/bruger_indstillinger.php on line 52

det vil sige her er fejl


$stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);
Avatar billede tobrukDk Novice
27. maj 2012 - 21:21 #3
skulle bare gøre sådan her


$stmt->store_result();       
                            $stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);       
                            /* fetch value */


og tak for hjælpen , lige et svar som tak ! :D
Avatar billede tobrukDk Novice
27. maj 2012 - 21:36 #4
sådan her ser det ude nu


<?php
                        include ("include/database/db.php");
                        if ($stmt = $mysqli->prepare('SELECT `email`, `djnavn`, `profiltekst`, `facebook`, `pris`, `booking`, `mobil` FROM `brugere` WHERE `email` = ?')) {
                            $stmt->bind_param('s', $email_s);
                            $email_s = $_SESSION["email"];
                            $stmt->execute();
                            $stmt->store_result();       
                            $stmt->bind_result($email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil);       
                            /* fetch value */
                            $stmt->fetch(); // tilføjet
                    ?>
                    <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>
                    </table>
                    <textarea name="tekst" style="width:500px; height:170px;"><?php echo $profiltekst;?></textarea><br />
                    <input type="submit" value="Updater">
                    <?php
                    $stmt->close();
                        } else {
                            /* Der er opstået en fejl */
                            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                        }
                    ?>

men den vil ikke hente profiltekst nede til textarea.. hmm¨

og den vil heller ikke updater den når jeg klik på den.. hmm



<?php
    include "include/database/db.php";
   
    if($stmt = $mysqli->prepare('UPDATE `brugere` SET `email`=?, `djnavn`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `email`=?'))
    {
        $stmt->bind_param('ssssisis', $email, $djnavn, $profiltekst, $facebook, $pris, $booking, $mobil, $email);
       
        //fra input ting ting..
        $email = $_POST["email"];
        $djnavn = $_POST["djnavn"];
        $profiltekst = $_POST["tekst"];
        $facebook = $_POST["facebook"];
        $pris = $_POST["pris"];
        $booking = $_POST["booking"];
        $mobil = $_POST["mobil"];
        $email = $_SESSION["email"];
       
        $stmt->execute();
        $stmt->close();
     
        header("Location: http://xxxxxxxx,,,,.dk/bruger-indstillinger/");
    }
    else
    {
        echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
    }

?>
Avatar billede tobrukDk Novice
28. maj 2012 - 00:03 #5
#1 lige et svar som tak, jeg har få det til at virker nu og tak for hjælpe mange gerne! :D
Avatar billede olsensweb.dk Ekspert
28. maj 2012 - 12:41 #6
springer point over
Avatar billede tobrukDk Novice
28. maj 2012 - 18:03 #7
men tak for hjælpen igen!
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