Gå til innhold

NULL fra php til Access gjennom ODBC


Anbefalte innlegg

Har brukt to hele kvelder på å finne ut av det, men jeg klarer rett og slett ikke å poste en NULL-verdi til en Access-database gjennom ODBC med standard "Microsoft Access Database driver". Noen som har erfaringer med dette?

 

Det mest logiske jeg har klart å komme opp med (funker altså ikke):

 

$query="INSERT INTO tbl_service (\"Kunde ID\", Dato, \"Kontaktperson for ordre\", Oppdrag, \"Dato 1\")
VALUES
('$kundeid','$dato','$kontaktperson','$oppdrag',NULL)";

 

Noe spesielt som må ordnes av serverinnstillinger?

Lenke til kommentar
Videoannonse
Annonse
Har brukt to hele kvelder på å finne ut av det, men jeg klarer rett og slett ikke å poste en NULL-verdi til en Access-database gjennom ODBC med standard "Microsoft Access Database driver". Noen som har erfaringer med dette?

 

Det mest logiske jeg har klart å komme opp med (funker altså ikke):

 

$query="INSERT INTO tbl_service (\"Kunde ID\", Dato, \"Kontaktperson for ordre\", Oppdrag, \"Dato 1\")
VALUES
('$kundeid','$dato','$kontaktperson','$oppdrag',NULL)";

 

Noe spesielt som må ordnes av serverinnstillinger?

6204353[/snapback]

 

Jeg er ingen racer i PHP eller HTML men hvorfor har kolonnenavnene \" før og etter? Er det fordi kolonnen heter "Kunde ID" og ikke Kunde ID?

 

Uansett burde null fungere men da tar jeg forbehold om Access og ODBC. Det brukte jeg en gang og det holdt lenge. Bruk en DataBase i stedet for en accessfil.

Og bruk OLEDB biblioteket i stedet.

Anbefaler MySQL eller MSDE som det het en gang i tiden, altså gratisversjonen av MSSQL. Da skulle også overgangen fra Access gå veldig smertefritt da det finnes verktøy i Access for å migrere fra Access-fil til MSSQL/MSDE.

PHP har jo også innebygget støtte for MySQL og MSSQL.

 

Edit: Du kan forsøke dette:

 

.....'$oppdrag', '')"

 

Altså to enkeltfnutter istedet for NULL

Endret av Babelfisken
Lenke til kommentar

Databasetype er ikke gjenstand for diskusjon. Jobber med MySQL til vanlig, men dette oppdraget krevde at jeg koblet nettstedet til kundens eksisterende database (Access).

 

Satt opp sjekkfunksjoner på de kritiske feltene i php. Det er ikke lekkert, men det funker. Får heller se mer på det når resten av systemet er klart.

Lenke til kommentar
Jeg er ingen racer i PHP eller HTML men hvorfor har kolonnenavnene \" før og etter? Er det fordi kolonnen heter "Kunde ID" og ikke Kunde ID?

 

Kolonnen heter Kunde ID, men for at syntaxen skal bli riktig må man skrive "Kunde ID" for at det skal oppfattes som ett ord.

Backslashene escaper anførselstegnene, slik at php ikke tolker det som en avsluttning på strengen.

Lenke til kommentar

Skulle man forsøkt seg på det her i mysql hadde det blitt seende slik ut:

$query="INSERT INTO tbl_service (`Kunde ID`, Dato, `Kontaktperson for ordre`, Oppdrag, `Dato 1`)
VALUES
('$kundeid','$dato','$kontaktperson','$oppdrag',NULL)";

Worth a try :shrug:

Lenke til kommentar
Skulle man forsøkt seg på det her i mysql hadde det blitt seende slik ut:

$query="INSERT INTO tbl_service (`Kunde ID`, Dato, `Kontaktperson for ordre`, Oppdrag, `Dato 1`)
VALUES
('$kundeid','$dato','$kontaktperson','$oppdrag',NULL)";

Worth a try :shrug:

6208944[/snapback]

Måtte bruke doble quotes på kolonnenavnene for at det skulle fungere i det hele tatt.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...