2009-09-07 8 views
5

J'ai un peu de difficulté à comprendre comment faire un INSERT SELECT.MYSQL INSERT SELECT problème

Par exemple, j'ai deux tables.

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 

Maintenant, je souhaite ajouter une autre requête au site Web de la table. Je reçois deux variables, permet de dire:

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

je veux sélectionner l'ID de John de la table des utilisateurs et l'insérer dans le tableau d'un site Web dans une déclaration.

Comment puis-je le faire?

Répondre

8

En supposant que vos variables sont déjà correctement et se sont échappés ne sont pas soumis à l'injection SQL:

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

Je cite au moins aurait utilisateur $ afin qu'il corresponde correctement sur les noms qui contiennent des espaces. –

+0

+1 supprimé ma propre réponse parce que c'était pareil ... –

+0

Merci pour une réponse rapide. – gtfx

Questions connexes