duanjingsen7904 2017-04-05 16:37
浏览 39
已采纳

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

I have hard time trying to do a simple insert into my sqlite3 db using php7.0

This code prints result correctly, so SELECT's work

$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.

  • 写回答

1条回答 默认 最新

  • douguomou5094 2017-04-05 19:40
    关注

    Following advice from Fred -ii- i turned error mode on

    $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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?