14. maj 2003 - 11:08
Der er
20 kommentarer og 1 løsning
MySQL og PHP. Ser ud til at virke, men DB er tom
Hej. Jeg har flg. database : CREATE TABLE users ( navn VARCHAR(255) NOT NULL, adre VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL, foed INTEGER(6) NOT NULL, user VARCHAR(255) NOT NULL, pass VARCHAR(255) NOT NULL, mail VARCHAR(255) NOT NULL, dato VARCHAR(255) NOT NULL, IPnr VARCHAR(255) NOT NULL) Ud over det, så er jeg ved at teste flg. kode : <?php echo "Updating database, please wait..."; echo "<br /><br />"; $navn = "test"; $adre = "Sjovgade"; $city = "København"; $foed = 120883; $user = "user1"; $pass = "psw1"; $mail = "testing@test.dk"; $dato = "14maj2003"; $IPnr = "NA"; $conn = mysql_connect("localhost", "usr", "pass"); $insertSQL = "insert into users (navn, adre, city, foed, user, pass, mail, dato, IPnr) values ('$navn', '$adre', '$city', $foed, '$user', '$pass', '$mail', '$dato', '$IPnr')"; mysql_query($insertSQL); mysql_close($conn); echo "Database updated !"; ?> Username og password er self. erstattet af de korrekte info.. Localhost er også korrekt. Jeg får ingen fejl i min browser, men der bliver alligevel ikke smidt noget i min DB. Jeg har måske set mig blind på et punkt. Nogen fejl ?
Annonceindlæg fra Immeo
Er 20 points forøvrigt fair for sådan et spørgsmål ? Eller bør jeg afsætte mere ?
mysql_query($insertSQL) or die(mysql_error());
Slettet bruger
14. maj 2003 - 11:14
#3
Prøv at skrive $insertSQL = "insert into users (navn, adre, city, foed, user, pass, mail, dato, IPnr) values ('$navn', '$adre', '$city', $foed, '$user', '$pass', '$mail', '$dato', '$IPnr')"; echo $insertSQL; mysql_query($insertSQL) or die (mysql_error()); mysql_close($conn);
Du vil opdage du mangler en mysql_select_db("..");
Erik > Den har jeg også haft tidligere. Mente dog ikke den var nødvendig. Men smider den da lige på igen :)
Ah, nu ved jeg hvad der er galt.. Jeg har skrevet tabel-navnet i select_db :o/
Mange tak, Erik. Du fik mig på "rette" vej :) Fra nu af kan jeg med sikkerhed kende forskel på en db og tabel, hehe :)
Hm, er der fejl omkring "foed" ? Den sætter et helt forkert tal ind. Jeg testede med : 071283, og den satte 458 ind :o/
foed bør nok være af typen DATE og have '1983-12-07'
Det virkede fint, men er det muligt at lave formateringen således, at det udskrives som : 7 Dec. 1983 ?
- Du kan få lidt points for den sidste hjælp under dette spm, som omhandler brug af phpMyAdmin (noget med en nøgle / ID), hvis du gider svare :). Bare smid et svar derinde.
http://www.eksperten.dk/spm/352470
Når du udskriver kan du selv bestemme formatet. Jeg finder lige en gammel stump kode - 2 secs. Men det er smart at have den som en dato i databasen.
Hm, så kan jeg ski da bare lave det som en normal VARCHAR :-)
Ok, så venter jeg :) - tak :)
function tildansk($d) { if ($d=='0') { return ""; } if (ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $d, $r)) { $yy=$r[1]; $mm=$r[2]; $dd=$r[3]+0; $a=getdate(mktime(0,0,0,$mm,$dd,$yy)); switch ($a["wday"]) { case 0: $ugedag='søndag'; break; case 1: $ugedag='mandag'; break; case 2: $ugedag='tirsdag'; break; case 3: $ugedag='onsdag'; break; case 4: $ugedag='torsdag'; break; case 5: $ugedag='fredag'; break; case 6: $ugedag='lørdag'; break; } switch ($mm) { case 1: $maaned='januar'; break; case 2: $maaned='februar'; break; case 3: $maaned='marts'; break; case 4: $maaned='april'; break; case 5: $maaned='maj'; break; case 6: $maaned='juni'; break; case 7: $maaned='juli'; break; case 8: $maaned='august'; break; case 9: $maaned='september'; break; case 10: $maaned='oktober'; break; case 11: $maaned='november'; break; case 12: $maaned='december'; break; } return "$ugedag, d. $dd. $maaned $yy"; } else { showerror("Ulovligt datoformat: $d"); } }
tusind tak for det. Ser fint ud :-) Smid bare et svar i føromtalte spørgsmål, så afsætter jeg lige en slat points til dig.
Jamen så siger jeg mange tak
Du bruger dangelsk til variabelnavne. Vælg sprog - enten dansk eller engelsk. Bare et fif.
Det er bare for at forvirre fjenden, morw.
Computerworld tilbyder specialiserede kurser i database-management