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());
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å ?