无法使用PHP添加sqlite条目

时间:2017-06-22 19:10:28

标签: php python sqlite

我有一个有桌子的数据库。我编写了一个简单的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附近停止

  • 从打印报表中查看。我应该改变或改变什么?

是因为某些权限还是我必须添加任何内容? 注意:条目不重复

编辑:我尝试的其他一些可能有用的东西:

  1. 我尝试通过PHP调用脚本,但是向数据库添加了静态字符串参数。它仍然没有通过。

  2. 我从python程序中注释掉handle.execute(),程序现在执行到最后。 所以问题是由于那条指令。

  3. 检查了环境变量和python模块,它们是预期的。

1 个答案:

答案 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
));