Avatar billede mc.lucifer Praktikant
18. januar 2007 - 10:47 Der er 12 kommentarer

insert into og så en kæmpe sql

Der er åbenbart noget galt med det her, nogle der kan se fejlen

MC

$query = mysql_query("Insert into employees (Nationalitet, Billede, Fornavn, Efternavn, Cpr, Vej, Nr, Post_Nr, Bynavn, Telefon, Mobil, EMail, Bank, Reg, Konto, Vej_i_dk, Nr_i_dk, Post_nr_i_dk, Bynavn_i_dk, Cpr_nr_i_dk, Udlaening_nr, Traekprocent, Pr_dag, Pr_uge, Pr_14_dag, Pr_mdr, Overenskomst, Loen, Ansaettelses_dato, Sprog, Koerekort_a, Koerekort_b, Koerekort_be, Koerekort_b_erhverv, Koerekort_c, Koerekort_ce, Koerekort_d, Koerekort_d_erhverv, Dok_edu, Arbejds_nr, Se, Firma, Firma_vej, Firma_nr, Firma_post_nr, Firma_By, Kontakt_person, Firma_telefon, Firma_Email, Arbejdssted, Ansat_som, Arbejdsfunktion, Bank_garenti, Start, Slut, Erfaringer, Referencer, Alm_info)
values
('$_POST['Nationalitet']','$_POST['Fornavn']','$_POST['Efternavn']','$_POST['CPR_NR']','$_POST['Vejnavn']','$_POST['Nr']','$_POST['Post_nr']','$_POST['Bynavn']','$_POST['Telefon']','$_POST['Mobil']','$_POST['Email']','$_POST['Bank']','$_POST['Reg']','$_POST['Konto']','$_POST['Vej_i_dk']','$_POST['Nr_i_dk']','$_POST['By_i_dk']','$_POST['CPR_nr_i_dk']','$_POST['Udlaeninge_nr']','$_POST['Traekprocent']','$_POST['Pr_dag']','$_POST['Pr_uge']','$_POST['Pr_14_dag']','$_POST['Maaned']','$_POST['Aftalt_loen']','$_POST['Ansaettelses_dato']','$_POST['sprog']','$_POST['A']','$_POST['B']','$_POST['BE']','$_POST['B_Erhverv']','$_POST['C']','$_POST['CE']','$_POST['D']','$_POST['D_Erhverv']','$_POST['Dok_edu']','$_POST['Arbejds_nr']','$_POST['SE_nr']','$_POST['Firmanavn']','$_POST['Firma_vej']','$_POST['Firma_nr']','$_POST['Firma_post_nr']','$_POST['Firma_by']','$_POST['Kontakt_person']','$_POST['Firma_telefon']','$_POST['Firma_mail']','$_POST['Arbejds_sted']','$_POST['Ansat_som']','$_POST['Arbejdsfunktion']','$_POST['Bankgarenti']','$_POST['Fra']','$_POST['Til']','$_POST['Erfaringer']','$_POST['Referencer']','$_POST['Alm_Info']')");
Avatar billede pidgeot Nybegynder
18. januar 2007 - 10:56 #1
Du mangler så vidt jeg kan se en værdi til Billede.

Overvej desuden kraftigt at få den tabel normaliseret til 3. normalform eller bedre - eksempelvis er dine bynavne jo direkte bestemt af postnumrene, så du kan gemme bynavnene i en seperat tabel - og der er sandsynligvis også andre felter du med fordel kunne sætte ud i seperate tabeller.
Avatar billede mcgoat Nybegynder
18. januar 2007 - 10:58 #2
er alle varchar, eller er nogen også INT? For hvis det er INT skal man jo ikke have ' ' omkring.
Avatar billede pidgeot Nybegynder
18. januar 2007 - 11:10 #3
Der er da vist også noget med at man ikke må sætte '' om indekses til et array inde i en string, med mindre variablen omkranses af {}, så jeg tror faktisk ikke engang PHP vil køre det...
Avatar billede mcgoat Nybegynder
18. januar 2007 - 11:12 #4
ville nok lave "lokale" variabler

$nationalitet = $_POST['nationalitet'];
$fornavn = $_POST['fornavn'];

og så sætte de variabler ind i stedet
Avatar billede nielle Nybegynder
20. januar 2007 - 11:26 #5
Jeg er helt enig med mcgoat. Det vil gøre underværker for læsbarheden af din både din PHP- og din SQL-kode.

I samme omgang bør du tage et kig på funktion mysql_real_escape_string():

http://dk2.php.net/manual/da/function.mysql-real-escape-string.php


Din nuværende kode er i hvert fald helt åben for SQL-injection angreb:

http://dk2.php.net/manual/da/security.database.sql-injection.php
Avatar billede mc.lucifer Praktikant
30. januar 2007 - 01:47 #6
Jeg har nu gjort sådanne her

$Nationalitet = $_POST['Nationalitet'];
$Fornavn = $_POST['Fornavn'];
$Efternavn = $_POST['Efternavn'];
$Cpr = $_POST['CPR_NR'];
$Vejnavn = $_POST['Vejnavn'];
$Nr = $_POST['Nr'];
$Post_Nr = $_POST['Post_nr'];
$Bynavn = $_POST['Bynavn'];
$Telefon = $_POST['Telefon'];
$Mobil = $_POST['Mobil'];
$Email = $_POST['Email'];
$Bank = $_POST['Bank'];
$Reg = $_POST['Reg'];
$Konto = $_POST['Konto'];
$Vej_i_dk = $_POST['Vej_i_dk'];
$Nr_i_dk = $_POST['Nr_i_dk'];
$By_i_dk = $_POST['By_i_dk'];
$Cprnr_i_dk = $_POST['CPR_nr_i_dk'];
$Udlaeningenr = $_POST['Udlaeninge_nr'];
$Traekprocent = $_POST['Traekprocent'];
$Pr_dag = $_POST['Pr_dag'];
$Pr_uge = $_POST['Pr_uge'];
$Pr_14_dag = $_POST['Pr_14_dag'];
$Pr_maaned = $_POST['Maaned'];
$Aftalt_loen = $_POST['Aftalt_loen'];
$Ansaettelsesdato = $_POST['Ansaettelses_dato'];
$Sprog = $_POST['sprog'];
$A = $_POST['A'];
$B = $_POST['B'];
$BE = $_POST['BE'];
$B_Erhverv = $_POST['B_Erhverv'];
$C = $_POST['C'];
$CE = $_POST['CE'];
$D = $_POST['D'];
$D_Erhverv = $_POST['D_Erhverv'];
$Dok_edu = $_POST['Dok_edu'];
$Arbejds_nr = $_POST['Arbejds_nr'];
$SE_nr = $_POST['SE_nr'];
$Firnavn = $_POST['Firmanavn'];
$Firma_vej = $_POST['Firma_vej'];
$Firma_nr = $_POST['Firma_nr'];
$Firma_post_nr = $_POST['Firma_post_nr'];
$Firma_by = $_POST['Firma_by'];
$Firma_Kontaktperson = $_POST['Kontakt_person'];
$Firma_Telefon = $_POST['Firma_telefon'];
$Firma_mail = $_POST['Firma_mail'];
$Arbejds_sted = $_POST['Arbejds_sted'];
$Ansat_som = $_POST['Ansat_som'];
$Arbejds_function = $_POST['Arbejdsfunktion'];
$Bank_garenti = $_POST['Bankgarenti'];
$Fra = $_POST['Fra'];
$Til = $_POST['Til'];
$Erfaring = $_POST['Erfaringer'];
$Referencer = $_POST['Referencer'];
$Alm_info = $_POST['Alm_Info'];


$query = mysql_query("Insert into employees (Nationalitet, Billede, Fornavn, Efternavn, Cpr, Vej, Nr, Post_Nr, Bynavn, Telefon, Mobil, EMail, Bank, Reg, Konto, Vej_i_dk, Nr_i_dk, Post_nr_i_dk, Bynavn_i_dk, Cpr_nr_i_dk, Udlaening_nr, Traekprocent, Pr_dag, Pr_uge, Pr_14_dag, Pr_mdr, Overenskomst, Loen, Ansaettelses_dato, Sprog, Koerekort_a, Koerekort_b, Koerekort_be, Koerekort_b_erhverv, Koerekort_c, Koerekort_ce, Koerekort_d, Koerekort_d_erhverv, Dok_edu, Arbejds_nr, Se, Firma, Firma_vej, Firma_nr, Firma_post_nr, Firma_By, Kontakt_person, Firma_telefon, Firma_Email, Arbejdssted, Ansat_som, Arbejdsfunktion, Bank_garenti, Start, Slut, Erfaringer, Referencer, Alm_info)
values
('$Nationalitet','Test','$Fornavn','$Efternavn','$Cpr','$Vejnavn','$Nr','$Post_nr','$Bynavn','$Telefon','$Mobil','$Email','$Bank','$Reg','$Konto','$Vej_i_dk','$Nr_i_dk','$By_i_dk','$Cprnr_i_dk','$Udlaeningenr','$Traekprocent','$Pr_dag','$Pr_uge','$Pr_14_dag','$Pr_maaned','$Aftalt_loen','$Ansaettelsesdato','$Sprog','$A','$B','$BE','$B_Erhverv','$C','$CE','$D','$D_Erhverv','$Dok_edu','$Arbejds_nr','$SE_nr','$Firmanavn','$Firma_vej','$Firma_nr','$Firma_post_nr','$Firma_by','$Firma_Kontaktperson','$Firma_Telefon','$Firma_mail','$Arbejds_sted','$Ansat_som','$Arbejds_function','$Bank_garenti','$Fra','$Til','$Erfaringer','$Referencer','$Alm,_info')")or die(mysql_error());;

Og det giver følgende fejl som jeg heller ikke helt kan greje..

Column count doesn't match value count at row 1

MC
Avatar billede mc.lucifer Praktikant
30. januar 2007 - 01:48 #7
$query = mysql_query("Insert into employees (Nationalitet, Billede, Fornavn, Efternavn, Cpr, Vej, Nr, Post_Nr, Bynavn, Telefon, Mobil, EMail, Bank, Reg, Konto, Vej_i_dk, Nr_i_dk, Post_nr_i_dk, Bynavn_i_dk, Cpr_nr_i_dk, Udlaening_nr, Traekprocent, Pr_dag, Pr_uge, Pr_14_dag, Pr_mdr, Overenskomst, Loen, Ansaettelses_dato, Sprog, Koerekort_a, Koerekort_b, Koerekort_be, Koerekort_b_erhverv, Koerekort_c, Koerekort_ce, Koerekort_d, Koerekort_d_erhverv, Dok_edu, Arbejds_nr, Se, Firma, Firma_vej, Firma_nr, Firma_post_nr, Firma_By, Kontakt_person, Firma_telefon, Firma_Email, Arbejdssted, Ansat_som, Arbejdsfunktion, Bank_garenti, Start, Slut, Erfaringer, Referencer, Alm_info)
values
('$Nationalitet','Test','$Fornavn','$Efternavn','$Cpr','$Vejnavn','$Nr','$Post_nr','$Bynavn','$Telefon','$Mobil','$Email','$Bank','$Reg','$Konto','$Vej_i_dk','$Nr_i_dk','$By_i_dk','$Cprnr_i_dk','$Udlaeningenr','$Traekprocent','$Pr_dag','$Pr_uge','$Pr_14_dag','$Pr_maaned','$Aftalt_loen','$Ansaettelsesdato','$Sprog','$A','$B','$BE','$B_Erhverv','$C','$CE','$D','$D_Erhverv','$Dok_edu','$Arbejds_nr','$SE_nr','$Firmanavn','$Firma_vej','$Firma_nr','$Firma_post_nr','$Firma_by','$Firma_Kontaktperson','$Firma_Telefon','$Firma_mail','$Arbejds_sted','$Ansat_som','$Arbejds_function','$Bank_garenti','$Fra','$Til','$Erfaringer','$Referencer','$Alm,_info')")or die(mysql_error());;
Avatar billede mc.lucifer Praktikant
30. januar 2007 - 01:48 #8
Øhhhh Passssss den tager ikke hele min query med her på exp
Avatar billede mc.lucifer Praktikant
30. januar 2007 - 01:50 #9
('$Nationalitet','Test','$Fornavn','$Efternavn','$Cpr','$Vejnavn','$Nr','$Post_nr','$Bynavn','$Telefon','$Mobil','$Email','$Bank','$Reg','$Konto','$Vej_i_dk','$Nr_i_dk','$By_i_dk','$Cprnr_i_dk','$Udlaeningenr','$Traekprocent','$Pr_dag','$Pr_uge','$Pr_14_dag','$Pr_maaned','$Aftalt_loen','$Ansaettelsesdato','$Sprog','$A','$B','$BE','$B_Erhverv','$C','$CE','$D','$D_Erhverv','$Dok_edu','$Arbejds_nr','$SE_nr','$Firmanavn','$Firma_vej','$Firma_nr','$Firma_post_nr','$Firma_by','$Firma_Kontaktperson','$Firma_Telefon','$Firma_mail','$Arbejds_sted','$Ansat_som','$Arbejds_function','$Bank_garenti','$Fra','$Til','$Erfaringer','$Referencer','$Alm,_info')")or die(mysql_error());
Avatar billede mc.lucifer Praktikant
30. januar 2007 - 01:51 #10
Fatter nadas
Avatar billede mc.lucifer Praktikant
31. januar 2007 - 19:36 #11
Hvis i lige svare så for i point for har fundet ud af det

MC
Avatar billede pidgeot Nybegynder
31. januar 2007 - 19:53 #12
Ved ikke om det også var henvendt til mig, men nu får du et for en god ordens skyld - så kkan du altid afvise det.
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