【问题标题】:PHP - insert in prepared query doesn't workPHP - 在准备好的查询中插入不起作用
【发布时间】:2017-04-05 16:37:01
【问题描述】:

我很难尝试使用 php7.0 在我的 sqlite3 数据库中进行简单的插入

此代码正确打印结果,所以 SELECT 的工作

$dbconn = new PDO('sqlite:/home/rooter/Desktop/XSS/db/ex1');
$stmtinit = $dbconn->prepare("select count() from tokens;");
$stmtinit->execute();

$rows = $stmtinit->fetch(PDO::FETCH_BOTH);
$tks = $rows[0];
print "tokens_size:".$tks;

但下面的代码不会做任何事情,也不会抛出任何错误/警告/通知。表标记的大小不变。

$dbconn = new PDO('sqlite:/home/rooter/Desktop/XSS/db/ex1');
$stmt = $dbconn->prepare("insert into tokens(user, token) values ('plaintxt','plaintxt')");
$stmt->execute(); 

如果我尝试在数据库中手动插入,它可以正常工作。

【问题讨论】:

标签: php sql sqlite sql-insert


【解决方案1】:

听从 Fred -ii-i 的建议,我打开了错误模式

$dbconn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

导致消息:“尝试写入只读数据库”。发生这种情况是因为当我创建数据库时,我是 root。

【讨论】:

    猜你喜欢
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2011-10-28
    • 2012-05-16
    • 2013-02-24
    相关资源
    最近更新 更多