Avatar billede they Nybegynder
19. oktober 2009 - 21:21 Der er 6 kommentarer og
1 løsning

Problemer med at skrive ned i mySQL database via PHP

Hejsa,

Jeg har fået nogle problemer med at skrive ned i en mySQL database, som jeg simpelthen ikke kan finde ud af hvorfor jeg har.

Jeg har i første omgang genbrugt koden fra en anden webside som jeg har sat op. Her virker koden uden problemer. Eneste forskel er selvf. at jeg har kaldt den korrekte database og de korrekte tabeller.

Jeg har var_dumpet langt ind i helvede, og det hele ser umiddelbart rigtigt ud. samtlige værdier fra $_POST kommer rigtigt igennem, og jeg har også bekræftet at der er fin forbindelse til db_connect.php, som jo skaber forbindelsen til databasen.

Men hver gang jeg forsøger at køre programmet, ender den ud i "der er noget galt". Altså får jeg ikke lov at skrive ned i tabellerne. Jeg er helt blank. Håber der er nogen der kan hjælpe! På forhånd tusind tak :)

koden:

<?php
    session_start();
    //Opret en forbindelse til databasen.
    include('db_connect.php');
       
    //Opret event hvis der trykkes p opret knappen.
    if (array_key_exists('submit' ,$_POST)){
   
       
        $showtime = $_POST["dato"];
           
        $date = explode("/","$showtime");
       
        $datearranged = strftime("%Y-%m-%d",mktime(0,0,0,$date[1],$date[0],$date[2]));
   
        $timeformat = strtotime($datearranged);
               
        $event = $_POST['event'];
       
               
        $sql = "INSERT INTO 'nais_events' (
                    'date',
                    'event'
                )
                VALUES (
                    '$timeformat',
                    '$event'
                )";   
               
        //send sql forespørgslen til mysql og gem resultatet
        $db_resultat = mysqli_query($sql,$db_link);
       
                       
        if (!$db_resultat){
            echo "Det er gÂet galt";
            die (mysqli_error($db_link));
        }
        header('Location: index.php?side=event');
       

    }
?>
Avatar billede virtual1ty Nybegynder
19. oktober 2009 - 21:30 #1
$sql = "INSERT INTO 'nais_events' (

Prøv at skifte dine single quotes (') ud til dette tegn:
`

(Laves ved at holde shift nede og trykke på tasten til venstre for backspace/slet, hvorefter tasterne slippes og der trykkes mellemrum)

Jeg ved ikke om dette er årsagen, men det er en mulighed.
Avatar billede they Nybegynder
19. oktober 2009 - 21:35 #2
Hej,

Det virkede desværre ikke. Jeg var egentlig af det indtryk at det tegn ikke skulle bruges? Hvorfor er det muligt at det skal det? (selvom det altså ikke gjorde nogen forskel her).

Andre idéer?
Avatar billede virtual1ty Nybegynder
19. oktober 2009 - 21:40 #3
Kunne det være denne der laver vrøvl?

$date = explode("/","$showtime");

Prøv at lave den om til:

$date = explode("/",$showtime);
19. oktober 2009 - 21:58 #4
Saa vidt jeg har forstaaet kraever mysqli_query to parameters hvor den foerste er forbindelsen, den anden spoergsmaalet.  Du siger "$db_resultat = mysqli_query($sql,$db_link);" hvor den foerste parameter er spoergsmaalet.  Proev at bytte raekkefoelgen om.
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:35 #5
Prøv at sætte en or die(mysql_error()); på efter din kørsel:

  $db_resultat = mysqli_query($sql,$db_link)or die(mysql_error());
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:37 #6
Og skriv din sql ud i stedet for at eksekvere den. Man bliver nød til at benytte sig af de få muligheder der er i php for at debugge.
Avatar billede they Nybegynder
19. oktober 2009 - 22:43 #7
Problemet er løst. Jeg skulle ganske rigtigt bare bytte rundt på de to parametre. Tak for hjælpen alle :)
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
Computerworld tilbyder specialiserede kurser i database-management

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