简体   繁体   English

PHP - 在准备好的查询中插入不起作用

[英]PHP - insert in prepared query doesn't work

I have hard time trying to do a simple insert into my sqlite3 db using php7.0 我很难尝试使用php7.0在我的sqlite3数据库中进行简单的插入

This code prints result correctly, so SELECT's work 此代码正确打印结果,因此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;

But code below doesn't do anything and doesn't throw any error/warning/notice. 但是下面的代码没有做任何事情,也没有抛出任何错误/警告/通知。 Table tokens has unchanged size. 表标记大小不变。

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

If i try to do that insert manually in db, it works properly. 如果我尝试在db中手动插入,它可以正常工作。

Following advice from Fred -ii- i turned error mode on 根据Fred -ii-的建议,我打开了错误模式

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

Which resulted in message: "attempt to write a readonly database" . 这导致了消息: “尝试编写只读数据库” That happened because when I was creating database I was root. 发生这种情况是因为当我创建数据库时,我是root用户。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM