2009-09-07 3 views
5

Ich habe ein wenig Schwierigkeit zu verstehen, wie Sie einige INSERT SELECT tun.MYSQL INSERT SELECT Problem

Zum Beispiel habe ich zwei Tabellen.

TABLE : users 

id | name | gender 
1 | John | m 
2 | Mary | f 

TABLE : website 

fid | url    | id 
1 | www.desilva.biz | 2 
2 | gidhelp.com  | 4 

Jetzt sagen wir, ich möchte eine weitere Abfrage auf der Tabelle Website hinzufügen. Ich zwei Variablen erhalten, können sagen:

$user = John; 
$site = "www.google.com"; 

ich die id von John von den Benutzern Tabelle auswählen möchten und es in Website-Tabelle in einer Anweisung einzufügen.

Wie kann ich es tun?

Antwort

8

Vorausgesetzt, dass Ihre Variablen sind bereits richtig entkommen und unterliegen nicht der SQL Injektion:

INSERT 
INTO website (url, fid) 
SELECT $site, id 
FROM users 
WHERE name = $user 
+1

Ich würde zumindet Benutzer $, so dass sie korrekt auf Namen angepasst, die Leerzeichen enthalten. –

+0

+1 gelöscht meine eigene Antwort, weil es das gleiche war ... –

+0

Vielen Dank für eine schnelle Antwort. – gtfx