你自己检查$conn->beginTransaction();
$conn->exec("INSERT INTO books (title,author) values ('je','dd')");
$conn->commit(); 的返回值呀
默认这些操作是不抛出异常的
在new PDO以后的时候指定相应的属性或选项才会抛出异常的
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("INSERT INTO books (title,author) values ('je','dd')");
$conn->commit(); 的返回值呀
默认这些操作是不抛出异常的
在new PDO以后的时候指定相应的属性或选项才会抛出异常的
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
是啊,但是我没看出语法错误啊,books是表,里面有2个字段: title,author,都是字符型的长度255,我已经建好了,里面有几行数据,用“select * from books”就OK,数据也能显示出来,但是一插入数据就出错。折腾了一天了,也没搞定啥,大侠有没有知道的,分不够在加。
我也怀疑title,所以重新建了一个数据库不用title作为字段用ABCD做字段还是报错了。Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 14 unable to open database file' in /usr/www/users/aaa/000e.php:16 Stack trace: #0 /usr/www/users/aaa/000e.php(16): PDO->exec('INSERT INTO boo...') #1 {main} thrown in /usr/www/users/aaa/000e.php on line 16<?php
$conn = new PDO('sqlite:sumbook.db'); // success
$conn->beginTransaction();
$conn->exec("INSERT INTO books (abcd,author1) values ('je','dd')");
$conn->commit();
?>
INSERT INTO xxxxx.books (abcd,author1) values ('je','dd');
我试过了insert 语句没有问题!!!
但是用“select * from books”就OK,数据也能显示出来,但是一插入数据就出错。说明数据库是能打开的,是好的。
但是用“select * from books”就OK,数据也能显示出来,但是一插入数据就出错。说明数据库是能打开的,是好的。
然后 sqlite3 book.db
进去以后试试你的sql insert语句吧