Jeg ønsker at gemme en variabel i en database – men har lige et problem:
Jeg har nogle data “gemt” I adresselinjen, som jeg ønsker at indsætte. Jeg får også hentet dataene godt nok ned, men kan ikke indsætte dem i db’en – hvorfor og hvad gør jeg???
Hvis det er det så er det jo bare at sig if(empty($navn) OR empty($fodselsdate) OR empty($hojde) OR empty($vaegt) OR empty($placering) OR empty($debut) OR empty($tidligere_klubber) OR empty($ynglingsklub) OR empty($idol) OR empty($andet) OR empty($pic) OR empty($U_landskamp) OR empty($beskrivelse) OR empty($hold) OR empty($tjek)){ echo "Du har ikke indtastet alt!"; } else { mysql_query("INSERT INTO XXXX (navn, alder, hojde, vaegt, placering, debut, tidligere_klubber, yndlingsklub, idol, andet, pic, U_landskamp, beskrivelse, hold, tjek) VALUES ('$navn','$fodselsdato','$hojde','$vaegt','$placering', '$debut', '$tidligere_klubber', '$yndlingsklub', '$idol', '$andet', '$pic', '$U_landskamp', '$beskrivelse', '$hold', '$tjek')");
PS Hvis du har en værdi til alle poster i DB kan du udelade: (navn, alder, hojde, vaegt, placering, debut, tidligere_klubber, yndlingsklub, idol, andet, pic, U_landskamp, beskrivelse, hold, tjek)
Jeg bruger $hold = $HTTP_GET_VARS["hold"]; og $tjek = $HTTP_GET_VARS["tjek"]; til at "hente" variablene ned fra adresse-linjen - da min inet udbyder har lukket for muligheden for direkte at bruge fx $hold.
Jeg ønsker blot at indsætte variablen $hold i databasen. Det burde ikke være noget problem, men jeg kan overhovedet ikke få det til at virke.
Du skal være sikker på at du sender værdier til alle poster i DB. Hvis du har poster der er 'not null' og du ikke har værdier til dem, så får du ikke noget ind i DB. Hvad er din 'Primary key'?
Min primary key er: id og alle mine poster er 'not null'. Jeg kan også godt indsætte data fra tekstbokse (alle variablene undtagen $hold og $tjek er tekstbokse), men jeg kan ikke indsætte $hold og $tjek - som bare er data fra adresse-linjen (session?) - og det forstår jeg ikke.
Hvis din primary key er id hvad putter du så i den, når du laver en insert? Det er altså spændende, ikke om vi finder løsningen, men hvornår!! Jeg synes det plejer at være så simpelt!!
Hvis jeg prøvet det, får jeg blot en fejl: SQL-query : ALTER TABLE mysql.test CHANGE id id INT(11) DEFAULT '0' AUTO_INCREMENT MySQL said: Column 'id' is used with UNIQUE or INDEX but is not defined as NOT NULL
Jamen null er ikke det samme som '0'. Jeg mener, hvis jeg har en tabel med 2 felter 'id' og 'navn', hvor 'id' er auto_increment: Så ville jeg skrive ("insert into tabel values ('null','$navn') ");
okay, det har jeg så aldrig hørt før :) . Når jeg ændrer feltet ID vha. phpmyadmin, så feltet null bliver null, så får jeg ovenstående fejl. (jeg har også prøvet at fjerne 0 fra feltet Default)
Når du laver en insert, er det vigtigt at du har lige så mange 'values' som du har felter i DB'en, og at alle values 'passer' til felterne. F. eks. kan du ikke smide en streng i et felt af typen 'float'.
Jeg har lige prøvet igen - og tilføjet 'null' i min insert, og det virker desværre stadigvæk ikke! Felterne passer med antallet af data jeg vil indsætte. Der er heller ingen "konflikter" mellem datatyperne og typerne i DB'en. Og variablerne er også ok, så...tjahh mærkeligt.
Synes godt om
Ny brugerNybegynder
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.