<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">&gt;data = {}<br>&gt;data['start_date'] = '2005-6-2'<br>&gt;data['last_name'] = 'Johnson'<br>&gt;<br>&gt;query = '''
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;SELECT *<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM my_table<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; WHERE date &gt;= '%(start_date)s'<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND last_name = '%(last_name)s'<br>&gt;''' % data<br>&gt;results = my_database.Execute(query)<br><br><br>First up. This is a &quot;bad idea&quot;.
<br><br>It may be ok now, as long as you have absolute control<br>over what start_date and last_name are, but what about<br>next week when you decide ... &quot;let's allow the user to put<br>in the dates for start_date&quot; and they make start_date
<br>&quot;'6-2-05'; DELETE FROM my_table; SELECT * FROM my_table<br>WHERE date='6-2-05' &quot;<br><br>Instead, use the arg quoting mechanism from the db<br>interface you are using. You don't say which one that<br>is, but it should look something like ...
<br><br>data = {}<br>data['start_date'] = '2005-6-2'<br>data['last_name'] = 'Johnson'<br><br>query = '''<br>&nbsp;&nbsp; SELECT *<br>&nbsp;&nbsp;&nbsp;&nbsp; FROM my_table<br>&nbsp;&nbsp;&nbsp;&nbsp;WHERE date &gt;= '%(start_date)s'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND last_name = '%(last_name)s'
<br>'''<br>results = my_database.execute(query, data)</blockquote>
<div>&nbsp;</div>
<div>Very nice.&nbsp; Thank-you.</div>
<div>--greg</div><br>&nbsp;</div>