I think it is pymysql's problem because it dosen't escape query
correctly, so, an syntax error is throwed.
MySQLdb can escape query well, as a result , when I update web2py to
new version, this error occurs.

On 2月15日, 下午6时09分, Johann Spies <johann.sp...@gmail.com> wrote:
> On 15 February 2011 08:49, hywang <why00...@163.com> wrote:
>
> > Please help to run it :-)
>
> > # File Name: default.py
>
> > def index():
> >    db.define_table("pymysql",Field("content","text"),migrate=True)
> >    content = """'http://img1.t.sinajs.cn/t3/style/css/common/
> > layer.css'"""
> >    #content = """this sentence is no problem at all"""
> >    db.executesql("INSERT INTO pymysql (content)VALUES(%s)",content)
> >    return dict()
>
> >  content = """'http://img1.t.sinajs.cn/t3/style/css/common/
>
>    ...: layer.css'"""
>
> In [2]: content
> Out[2]: "'http://img1.t.sinajs.cn/t3/style/css/common/\nlayer.css'"
>
> In [3]: query = "INSERT INTO pymysql (content)VALUES(%s)",content
>
> In [4]: query
> Out[4]:
> ('INSERT INTO pymysql (content)VALUES(%s)',
>  "'http://img1.t.sinajs.cn/t3/style/css/common/\nlayer.css'")
>
> In [5]: query = "INSERT INTO pymysql (content)VALUES(%s)" % content
>
> In [6]: query
> Out[6]: "INSERT INTO pymysql 
> (content)VALUES('http://img1.t.sinajs.cn/t3/style/css/common/\nlayer.css')"
>
> You syntax is incorrect  as showed in [3].  The correct query[6] is
> generated by the syntax in [5].
>
> Regards
> Johann
>
> --
>  May grace and peace be yours in abundance through the full knowledge of God
> and of Jesus our Lord!  His divine power has given us everything we need for
> life and godliness through the full knowledge of the one who called us by
> his own glory and excellence.
>                                                     2 Pet. 1:2b,3a

Reply via email to