04. marts 2004 - 20:22
Der er
14 kommentarer og 1 løsning
Jeg får en fejl når jeg indsætter mine data i databasen..
Jeg er ikke specielt en haj til MySQL og databaser, så det kan nemt være en "dumme" fejl.. Jeg får: "Fejl ved indsættelse i databasen." hver gang jeg prøver Jeg har testet at alle data kommer igennem systemet, det gør de hver gang uden problemer, så alle variablerne indeholder altså enten et tal eller noget teskt. Jeg har sat DB'en op med CHAR fordi jeg ikke kunne få den til at virke med INT, men den virker heller ikke med CHAR så nu spørger jeg her :) Please help, jeg skal have det her færdigt i aften!!!! :[ <?php // ########## HENTER DATA FRA FORRIGE SIDE ########## $email = $_POST['email']; $selskab_navn = $_POST['selskab_navn']; $selskab_Andet = $_POST['selskab_navnAndet']; $sidste_skift = $_POST['sidste_skift']; $sidste_ggang = $_POST['sidste_gennemgang']; $tilfreds = $_POST['tilfreds']; $anbefale = $_POST['anbefale']; $samme_selskab = $_POST['samme_selskab']; $oplysning = $_POST['oplysning']; $buy = $_POST['buy']; $anmelde = $_POST['anmelde']; $provet = $_POST['provet']; $aEt = $_POST['a1']; $aTo = $_POST['a2']; $aTre = $_POST['a3']; $aFire = $_POST['a4']; $aFem = $_POST['a5']; $aSeks = $_POST['a6']; $aSyv = $_POST['a7']; $navn = $_POST['navn']; $adr = $_POST['adr']; $postnr = $_POST['postnr']; $by = $_POST['by']; $tlf = $_POST['tlf']; $tlftid = $_POST['tlftid']; $mobil = $_POST['mobil']; $emailNy = $_POST['emailNyIn']; // ######### GEMMER INFORMATIONERNE I DATABASEN ######### $db = mysql_connect("XXXXXXXXXX", "XXXXXXXX", "XXXXX") or die("kunne ikke få forbindelse til databasen"); mysql_select_db("topdk",$db) or die("Forkert database"); mysql_query("INSERT INTO resultater (email, selskab_navn, selskab_navnAndet, sidste_skift, sidste_gennemgang, tilfreds, anbefale, samme_selskab, oplysning, buy, anmelde, provet, aEt, aTo, aTre, aFire, aFem, aSeks, aSyv, navn, adr, postnr, by, tlf, tlftid, mobil, emailNy) VALUES ($email, $selskab_navn, $selskab_Andet, $sidste_skift, $sidste_ggang, $tilfreds, $anbefale, $samme_selskab, $oplysning, $buy, $anmelde, $provet, $aEt, $aTo, $aTre, $aFire, $aFem, $aSeks, $aSyv, $navn, $adr, $postnr, $by, $tlf, $tlftid, $mobil, $emailNy);") or die("Fejl ved indsættelse i databasen."); $res_id = mysql_insert_id(); ?> Databasen er sat op sådan her: ID: INT(11) PRIMARY UNSIGNED Not Null AUTOINCREMENT RESTEN: CHAR(100) Not Null
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
04. marts 2004 - 20:24
#1
Det ser ud til at der mangler quotes! F.eks. skal $email være opstillet som '$email'
04. marts 2004 - 20:27
#2
Det er nok fejlen. Men du kan få mere hjælp fra systemet ved at erstatte ...or die("Fejl ved indsættelse i databasen."); med ...or die("Fejl ved indsættelse i databasen: ".mysql_error());
04. marts 2004 - 20:28
#3
Fejl ved indsættelse i databasen. Skal der være quotes om både $email og email ...?
04. marts 2004 - 20:29
#4
Alle felter skal helst have quotes imellem sig, f.eks. '$email' eller mysql_escape_string($email)
04. marts 2004 - 20:30
#5
Nej, kun ved variabler altså alt som begynder med $
04. marts 2004 - 20:34
#6
Nu har jeg ændret min query til dette: mysql_query("INSERT INTO resultater ('email', 'selskab_navn', 'selskab_navnAndet', 'sidste_skift', 'sidste_gennemgang', 'tilfreds', 'anbefale', 'samme_selskab', 'oplysning', 'buy', 'anmelde', 'provet', 'aEt', 'aTo', 'aTre', 'aFire', 'aFem', 'aSeks', 'aSyv', 'navn', 'adr', 'postnr', 'by', 'tlf', 'tlftid', 'mobil', 'emailNy') VALUES ('$email', '$selskab_navn', '$selskab_Andet', '$sidste_skift', '$sidste_ggang', '$tilfreds', '$anbefale', '$samme_selskab', '$oplysning', '$buy', '$anmelde', '$provet', '$aEt', '$aTo', '$aTre', '$aFire', '$aFem', '$aSeks', '$aSyv', '$navn', '$adr', '$postnr', '$by', '$tlf', '$tlftid', '$mobil', '$emailNy');") or die("Fejl ved indsættelse i databasen".mysql_error()); Jeg får denne fejl: Parse error: parse error, unexpected '\"' in /hotel/elverhojen/WWW/topdk/popup5.php on line 73 Min query står på linie 73..
04. marts 2004 - 20:37
#7
Fejl ved indsættelse i databasenYou have an error in your SQL syntax near 'by, tlf, tlftid, mobil, emailNy) VALUES ('jeppe@jgldesign.dk', '10', 'dfdffd', '' at line 1
04. marts 2004 - 20:37
#8
Du skal IKKE sætte quotes i de felter som ikke begynder med $ f.eks. mysql_query("INSERT INTO resultater (email,selskab_navn) VALUES ('$email','$selskabs_navn') ... har kun taget 2 felter i dette eksempel.
04. marts 2004 - 20:40
#9
Aha, "by" er et reserveret ord i MYSQL, så du skal skrive et andet feltnavn, f.eks. city - eller skrive `by`
04. marts 2004 - 20:40
#10
Dvs. den skal se sådan her ud: ??? mysql_query("INSERT INTO resultater ('email','selskab_navn') VALUES ($email,$selskabs_navn)
04. marts 2004 - 20:42
#11
Nej! mysql_query("INSERT INTO resultater (email,selskab_navn) VALUES ('$email','$selskabs_navn') :)
04. marts 2004 - 20:43
#12
Du kan godt beholde by, men sådan (skitse) mysql_query("INSERT INTO resultater (`email`,`by`) VALUES ('$email','$by_navn')") or die(mysql_error());
04. marts 2004 - 20:43
#13
oki.. tak.. jeg ved godt jeg spørger dumt, men jeg er selvlært og har aldrig rigtig sat en DB op fra bunden før nu.. :P
04. marts 2004 - 20:47
#14
TAK!!! fejlen er fundet, det var manglende quotes og ordet by der var forkert :) :) :)
04. marts 2004 - 20:55
#15
by er ikke forkert. Du kan sagtens beholde det ved at skrive `by`
Computerworld tilbyder specialiserede kurser i database-management