我有一个python脚本,它将csv作为输入并将其数据插入到数据库中。我从PHP脚本调用此脚本,我正在生成此CSV。如果我从终端调用python脚本并将csv传递给它,它可以正常工作,但如果我使用
从php调用它exec('python bulk_metadata_ingest_dev.py '. $metadataCSV);
插入表时会抛出mysql错误。
_mysql_exceptions.ProgrammingError:(1064,'您的SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以便在\ text文本附近使用正确的语法插入"" \'在第1行')
查询抛出此错误:
cursor = db.query("insert into test_table(asset_type, attribute_id, asset_title, is_publishable, owner) values(\""+str(mediaAssetTypeDict[sample_content.media_type.lower()])+"\", \""+str(attributeId)+"\", \""+str(assetTitle)+"\", \""+str(publishAssets)+"\", \""+str(sample_content.content_owner)+"\" )")
在python中,我不知道如何处理这个问题。 提前致谢
答案 0 :(得分:1)
看起来您正在使用mySQL保留字OWNER
作为表中的列名而不使用反引号。尝试将您的选择更改为:
...("insert into test_table(asset_type, attribute_id, asset_title, is_publishable, `owner`")...
^ ^
在文档中查看Table 9.2以获取完整列表。