我必须将sql数据库连接到python,以便可以通过python添加新的用户数据。
我尝试了int转换,这使我进一步陷入了null类型数据集的麻烦。 我已经尝试过放置支架。它不起作用。
<?php
//Variables
$email = $_POST['email'];
$password = $_POST['password'];
echo "Your account email is: " + $email + " and password is: " +
$password";
?>
实际结果告诉我print(sqlInsertUser)打印所有正确的值。 我希望execute命令能够正常工作,并在其中添加sql数据。
答案 0 :(得分:1)
这是问题所在:
sqlInsertUser = "Insert Into retraining (date, user_id, image_name,location_flagged, processing_flagged, insert_date, visible)Values( "+ date + " , " + user_id + " , " + name + " , " + flag_loc + " , " + flag_proc + " , " + now + " , " + flag_vis + " )"
例如,如果name
包含一些无效字符,例如“ [”或“]”,则execute
调用失败,因为name
字符串未正确包含。 (应该用双引号引起来)
您可以在pyodbc中使用参数替换支持,例如
sqlInsertUser = "Insert Into retraining (date, user_id,
image_name, location_flagged, processing_flagged, insert_date,
visible) Values (?,?,?,?,?,?,?)"
然后运行
cur.execute(sqlInsertUser, date, user_id, name, flag_loc, flag_proc, now, flag_vis)
(上面的示例代码未经测试。您可能需要修复一些语法错误)
有关语法的更多详细信息,请参见https://www.python.org/dev/peps/pep-0249/#paramstyle或https://github.com/mkleehammer/pyodbc/wiki/Cursor