Avatar billede mulles.tk Nybegynder
04. april 2005 - 23:48 Der er 12 kommentarer og
1 løsning

data indsættes ikke i DB!?

<?
include("config.php");

if(isset($_POST['opret'])) {
    $navn = $_POST['navn'];
    $adr = $_POST['adr'];
    $post = $_POST['post'];
    $by = $_POST['by'];
    $fodt = $_POST['f_dag']-$_POST['f_maned']-$_POST['f_aar'];
    $udd_navn = $_POST['udd_navn'];
    $udd_sted = $_POST['udd_sted'];
    $aar_start = $_POST['aar_start'];
    $aar_slut = $_POST['aar_slut'];
    $stud_bruger = $_POST['stud_bruger'];
        $query = mysql_query("SELECT * FROM it_stud_bruger WHERE stud_bruger='$bruger'");
        if (mysql_num_rows($query) == "0") {
            mysql_query("INSERT INTO it_stud_bruger (navn, adr, post, by, fodt, udd_navn, udd_sted, aar_start, aar_slut, stud_bruger, oprettet) VALUES ('$navn', '$adr', '$post', '$by', '$fodt', '$udd_navn', '$udd_sted', '$aar_start', '$aar_slut', '$stud_bruger', NOW())");
            echo "<p align='center'><font color=\"#008000\">Tak for din telmeldelse til JobPortalen - Vi byder dig velkommen!</font>";
        } else {
            echo "<p><font color=\"#FF0000\">Det ønskede brugernavn er desværre optaget!";
        }
}
?>

Jeg ved simpelthen ikke hvad jeg gør galt, men dataerne bliver ikke indsat i databasen!? Jeg får godt nok medelelsen "tak for din tilmelding...." - men tom database...

HELP!?
Avatar billede jaw Nybegynder
04. april 2005 - 23:49 #1
Prøv først:

mysql_query("INSERT INTO it_stud_bruger (navn, adr, post, by, fodt, udd_navn, udd_sted, aar_start, aar_slut, stud_bruger, oprettet) VALUES ('$navn', '$adr', '$post', '$by', '$fodt', '$udd_navn', '$udd_sted', '$aar_start', '$aar_slut', '$stud_bruger', NOW())") or die(mysql_error());
Avatar billede mulles.tk Nybegynder
04. april 2005 - 23:54 #2
Ja okay, så får jeg:
You have an error in your SQL syntax near 'by, fodt, udd_navn, udd_sted, aar_start, aar_slut, stud_bruger, oprettet) VALUES' at line 1

...som jeg ikke lige kan gennemskue hvad er!?

Min SQL-tabel ser sådan her ud:
CREATE TABLE `it_stud_bruger` (
  `id` int(11) NOT NULL auto_increment,
  `navn` varchar(25) NOT NULL default '',
  `adr` varchar(50) NOT NULL default '',
  `post` tinyint(4) NOT NULL default '0',
  `by` varchar(15) NOT NULL default '',
  `fodt` varchar(12) NOT NULL default '',
  `udd_navn` varchar(20) NOT NULL default '',
  `udd_sted` varchar(20) NOT NULL default '',
  `aar_start` tinyint(4) NOT NULL default '0',
  `aar_slut` tinyint(4) NOT NULL default '0',
  `stud_bruger` varchar(30) NOT NULL default '',
  `oprettet` date NOT NULL default '0000-00-00',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Avatar billede jaw Nybegynder
04. april 2005 - 23:56 #3
sæt ` omkring by (helst alle felterne) - det er shift + den knap lige ved siden af backspace - kan ikke huske tegnnavnet :)
Avatar billede mulles.tk Nybegynder
05. april 2005 - 00:02 #4
hmm... nu virker det godt nok, men hvorfor forstår jeg ikke!? Jeg har aldrig brugt omvendt apostrof før!? :S
Avatar billede jaw Nybegynder
05. april 2005 - 00:04 #5
Det er heller ikke en apostrof. Men det er den mest korrekte måde at bruge det tegn hver gang du behandler et feltnavn. "BY" er et beskyttet ord i MySQL åbenbart, som måske kan bruges til noget andet...

Så vil jeg tillade mig at lægge et svar ? :)
Avatar billede mulles.tk Nybegynder
05. april 2005 - 00:06 #6
nej, det er en OMVENDT apostrof, hehe....

Jo du får point, men jeg forstår bare ikke, hvorfor jeg ikke har haft problemet før!?
Avatar billede jaw Nybegynder
05. april 2005 - 00:07 #7
Det har du kun fordi du ikke har brugt ordet "by" før. Jeg har heller ikke selv mødt andre ord end det endnu :)

Og tak for points...
Avatar billede plx Nybegynder
05. april 2005 - 00:09 #8
reserverede ord: http://dev.mysql.com/doc/mysql/en/reserved-words.html

hvis du har feltnavne, som også er reserverede navne, og du lader navnene indgå i din sql sætning, skal der `` omkring.
Avatar billede jaw Nybegynder
05. april 2005 - 00:10 #9
Jep, der var de jo nemlig lige præcis...
Avatar billede mulles.tk Nybegynder
05. april 2005 - 00:22 #10
jamen så giver det jo mening....
Avatar billede mulles.tk Nybegynder
05. april 2005 - 00:27 #11
Nogen der lige hurtigt kan hjælpe...

Jeg ønsker at få datoen samlet med bindestreg mellem dd-mm-åååå - men hvordan skal det lige se ud?

    $fodt = $_POST['f_dag']-$_POST['f_maned']-$_POST['f_aar']; ???
Avatar billede jaw Nybegynder
05. april 2005 - 00:29 #12
$fodt = $_POST['f_dag']."-".$_POST['f_maned']."-".$_POST['f_aar'];
Avatar billede mulles.tk Nybegynder
05. april 2005 - 00:33 #13
ahh... havde prøvet med "" men det var . . der manglede, mange tak!!
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