<br><br><div class="gmail_quote">On Thu, Aug 13, 2009 at 4:09 PM, Philip Semanchuk <span dir="ltr"><<a href="mailto:philip@semanchuk.com">philip@semanchuk.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
On Aug 13, 2009, at 2:56 PM, azrael wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

j<br>
</blockquote></blockquote></blockquote>
[u'Tata', u'Oriovac', u'PrimorskoGoranska', u'hrvatska', u'Kuna']<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
len(j)<br>
</blockquote></blockquote></blockquote>
5<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
h = """SELECT distinct u.id_ulica, o.id_opcina, z.id_zupanija, d.id_drzava, v.id_valuta FROM   ulica as u, opcina as o, zupanija as z, drzava as d, valuta as v  WHERE  u.naziv = '%s' AND o.naziv = '%s' AND z.naziv = '%s' AND d.naziv = '%s' AND v.naziv = '%s'""" % (j)<br>

</blockquote></blockquote></blockquote>
Traceback (most recent call last):<br>
 File "<string>", line 1, in <string><br>
TypeError: not enough arguments for format string<br>
</blockquote>
<br>
Hi azrael,<br>
You already have an answer to your question so I won't address that. I want to point out that this is a dangerous way to build SQL statements.<br>
<br>
For instance, what happens if someone enters a city name of L'viv?  Your SQL will break due to mismatched single quotes. This kind of code is vulnerable to SQL injection attacks:<br>
<a href="http://en.wikipedia.org/wiki/SQL_injection" target="_blank">http://en.wikipedia.org/wiki/SQL_injection</a><br>
</blockquote><div><br>No explanation of SQL injection is complete without a link to the relevant XKCD.<br><br><a href="http://xkcd.com/327/">http://xkcd.com/327/</a><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Parameterized SQL is safer. Googling for 'parameterized SQL Python' should find some examples for you.<br>
<br>
Good luck<br>
Philip<br><font color="#888888">
-- <br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
</font></blockquote></div><br>