Updating a filename's counter value failed each time
Alister
alister.ware at ntlworld.com
Mon Jun 17 15:05:07 EDT 2013
On Mon, 17 Jun 2013 21:06:16 +0300, Νίκος wrote:
>
> But the comma inside the execute statement doesn't protect me from such
> actions opposed when i was using a substitute operator?
You are correct Nicos, passing the values as a parameter list does
protect you from SQL injection JT has made an error.
>
>> I would guess because you forgot the uotes around string values in your
>> SQL statement which thus wasn't executed.
>
> i tried you suggestions:
>
> cur.execute('''UPDATE files SET hits = hits + 1, host = %s, lastvisit =
> %s WHERE url = "%s"''', (host, lastvisit, filename) )
>
> seems the same as:
>
> cur.execute('''UPDATE files SET hits = hits + 1, host = %s, lastvisit =
> %s WHERE url = %s''', (host, lastvisit, filename) )
>
> since everything is tripled quoted already what would the difference be
> in "%s" opposed to plain %s ?
As already noted JT made an error in assuming you were using string
substitution & not passing parameters the quotes are not required & will
case errors.
as to your problem you have already been advised that update does not
generate any returned data.
to see the data you need to issue a select.
to make debugging easier I suggest you need to use an easier way to see
what is happening in the database
assuming you are using mysql then phpmyadmin may help
also as i have previously suggested it would be wise to keep this system
off the internet untill you are satisfied it is working correctly &
secure.
--
If God had really intended men to fly, he'd make it easier to get to the
airport.
-- George Winters
More information about the Python-list
mailing list