Avatar billede anetteogjesper Nybegynder
08. maj 2004 - 16:14 Der er 2 kommentarer og
1 løsning

Er dette den rigtige PHP kode at bruge

Hej

Jeg skal have flyttet noget fra 2 steder i min database til ét andet sted og jeg har lavet nedenstående kode, men er i tvivl om den er rigtig. Jeg ville gerne trække session id ud også , men hvordan gør jeg det?

//confirmation
$sql = "INSERT INTO store_orders_itemmap(id, sel_item_id, sel_item_qty, sel_item_size, sel_item_price, efterkrav, overfoersel, ewire, fornavn,
efternavn, adresse1, adresse2, city, postnr, telefon, mobil, email, add_type, sendtil, sendtil_adresse1, sendtil_adresse2, sendtil_by, sendtil_postnr, personlig_besked)
SELECT o.sel_item_id, o.sel_item_qty, o.sel_item_size, o.sel_item_price, s.efterkrav, s.overfoersel, s.ewire, s.fornavn,
s.efternavn, s.adresse1, s.adresse2, s.city, s.postnr, s.telefon, s.mobil, s.email, s.add_type, s.sendtil, s.sendtil_adresse1, s.sendtil_adresse2, s.sendtil_by, s.sendtil_postnr, s.personlig_besked
FROM store_shoppertrack o, orders s
WHERE session_id = '$PHPSESSID'";

$sql = mysql_query($sql)
    or die (mysql_error());
Avatar billede fgsupermand Nybegynder
08. maj 2004 - 21:48 #1
først vil jeg gerne sige: DAMN du har mange attributter i en tabel

også tilbage til dit spørgsmål, er det én sql sætning det der ?, for du kan ikke lave en select inde i en insert sætning
Avatar billede rednex Nybegynder
09. maj 2004 - 00:30 #2
fgsupermand: Man kan sagtens lave en INSERT...SELECT i MySQL. Den bruges netop til at indsætte værdier fra andre steder i databasen.

anetteogjesper:
Det eneste jeg lige umiddelbart kan få øje på er din WHERE. Den angiver ikke hvor den kan finde kolonnen session_id. Den skulle nok hedde noget i retning af WHERE o.session_id = '$PHPSESSID'. Og så tror jeg du skal udelade 'id' feltet fra din insert (hvis du altså bruger autoindex). Husk at antallet af felter du lister i INSERT skal stemme overens med det antal værdier du hiver ud gennem SELCT'en. Den ville atså ende med at se sådan her ud:

$sql = "INSERT INTO store_orders_itemmap(sel_item_id, sel_item_qty, sel_item_size, sel_item_price, efterkrav, overfoersel, ewire, fornavn,
efternavn, adresse1, adresse2, city, postnr, telefon, mobil, email, add_type, sendtil, sendtil_adresse1, sendtil_adresse2, sendtil_by, sendtil_postnr, personlig_besked)
SELECT o.sel_item_id, o.sel_item_qty, o.sel_item_size, o.sel_item_price, s.efterkrav, s.overfoersel, s.ewire, s.fornavn,
s.efternavn, s.adresse1, s.adresse2, s.city, s.postnr, s.telefon, s.mobil, s.email, s.add_type, s.sendtil, s.sendtil_adresse1, s.sendtil_adresse2, s.sendtil_by, s.sendtil_postnr, s.personlig_besked
FROM store_shoppertrack o, orders s
WHERE o.session_id = '$PHPSESSID'";

Hvad mener du med at trække session id ud også ?
Avatar billede anetteogjesper Nybegynder
23. juni 2005 - 11:56 #3
Færdig - fandt hjælp andet sted
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