2010-12-05 6 views
9

je peux insérer des valeurs dans une table hardcoded SQLite sans problème, mais je suis en train de faire quelque chose comme ceci:python + SQLite, insérer des données à partir de variables dans la table

name = input("Name: ") 
phone = input("Phone number: ") 
email = input("Email: ") 

cur.execute("create table contacts (name, phone, email)") 
cur.execute("insert into contacts (name, phone, email) values"), (name, phone, email) 

Je sais que cela est faux, et je ne peux pas trouver comment le faire fonctionner. Peut-être que quelqu'un pourrait me diriger dans la bonne direction.

+1

Il y a des tonnes d'erreurs de syntaxe évidentes dans votre code (vous pouvez même le voir à partir de la mise en évidence de syntaxe incorrecte). Quelle erreur obtenez-vous? Est-ce le code que vous utilisez? Si non, pouvez-vous s'il vous plaît poster le code réel que vous avez essayé? –

+0

ce n'est pas ce que je suis en train de courir, je l'ai rapidement tapé pour que les gens aient une idée de ce que j'essaie d'accomplir – steini

+6

Veuillez accepter la réponse de Mark, ou postez une autre solution et acceptez-la. Utiliser '[résolu]' dans le titre n'est pas habituel ici. Merci! – Arjan

Répondre

31

Vous pouvez utiliser ? pour représenter un paramètre dans une requête SQL:

cur.execute("insert into contacts (name, phone, email) values (?, ?, ?)", 
      (name, phone, email)) 
+0

Merci monsieur, j'avais essayé quelques variations de cela mais cela fonctionne: D – steini

Questions connexes