我有一个有桌子的数据库。我编写了一个简单的python程序来写入数据库,如下所示。
import sqlite3
import sys
arg = sys.argv
handle= sqlite3.connect('new_test.db')
print "Opened database successfully";
print type(arg[1]), arg[2]
handle.execute("INSERT INTO RECORD (ID,NAME,PROJECT,) \
VALUES ('%s','%s','%s')" %(str(arg[1]), str(arg[2]),str
(arg[3]));
print "after execute"
handle.commit()
print "Records created successfully";
handle.close()
从命令行python insert.py arg1 arg2 arg3
现在我从php代码中做同样的事情:
$data=shell_exec("python insert.py $id $name $project").
它不会向表中添加条目。执行在handle.execute
附近停止
是因为某些权限还是我必须添加任何内容? 注意:条目不重复
编辑:我尝试的其他一些可能有用的东西:
我尝试通过PHP调用脚本,但是向数据库添加了静态字符串参数。它仍然没有通过。
我从python程序中注释掉handle.execute()
,程序现在执行到最后。
所以问题是由于那条指令。
答案 0 :(得分:0)
尝试下一个:
$pdo = new \PDO('sqlite:new_test.db');
$query = $pdo->prepare("INSERT INTO RECORD (ID, NAME, PROJECT)
VALUES (:id, :name, :project)");
$query->execute(array(
':id' => $id,
':name' => $name,
':project' => $project
));