当前位置:Gxlcms > PHP教程 > PHP利用PDO操作SQlite无法执行WHEREIN()请各位指教~

PHP利用PDO操作SQlite无法执行WHEREIN()请各位指教~

时间:2021-07-01 10:21:17 帮助过:17人阅读

本帖最后由 dlebh 于 2013-09-17 14:28:12 编辑

php + sqlite

字段 titles 是索引!

$sql = "select * from fang where titles in('kill')";$result = $dbh->query($sql);$r = $result->fetchAll();


返回错误: Fatal error: Call to a member function fetchAll() on a non-object in


语句没有错误 可以正常执行 但是在php里面就无法运行了。

是什么原因呢 请各位指教 谢谢了


回复讨论(解决方案)

哪位大牛能指点一二啊 。。。。

支持的!可能你哪里写错了
print_r($dbh->errorInfo());
看看有什么问题

哦 好的 我试下

Array ( [0] => HY000 [1] => 1 [2] => no such column: titles )

出的这个错误

支持的!可能你哪里写错了
print_r($dbh->errorInfo());
看看有什么问题

Array ( [0] => HY000 [1] => 1 [2] => no such column: titles )

出的这个错误

no such column: titles
没有这样的列:titles

应该是你写错了,机器不会骗你的

$a = $dbh->query('SELECT * FROM sqlite_master');print_r($a->fetchall(PDO::FETCH_ASSOC));
对比一下 sql 列

no such column: titles
没有这样的列:titles

应该是你写错了,机器不会骗你的

$a = $dbh->query('SELECT * FROM sqlite_master');print_r($a->fetchall(PDO::FETCH_ASSOC));
对比一下 sql 列

Fatal error: Call to a member function fetchall() on a non-object

还是爆这个错误 。。

我的那个sql语句没问题的 在sqlite里面可以执行 显示结果
就是到这个pdo里面 就完蛋啦 是不是pdo不支持索引列呢 ?


no such column: titles
没有这样的列:titles

应该是你写错了,机器不会骗你的

$a = $dbh->query('SELECT * FROM sqlite_master');print_r($a->fetchall(PDO::FETCH_ASSOC));
对比一下 sql 列

Fatal error: Call to a member function fetchall() on a non-object

还是爆这个错误 。。

我的那个sql语句没问题的 在sqlite里面可以执行 显示结果
就是到这个pdo里面 就完蛋啦 是不是pdo不支持索引列呢 ?


不好意思 刚才搞错了 输出里面确实没有 titles这个列

但是我建表的时候确实有这个索引列啊 而且我在sqlite里面查询也是没问题的

为啥到这里就没了呢

刚开始用sqlite 可能有些误区?

SELECT * FROM sqlite_master
也不支持?你难道是 sqlite 2 ?

SELECT * FROM sqlite_master
也不支持?你难道是 sqlite 2 ?




多谢版主 原因找到了 ,原来困扰我两天的问题是我的数据库地址错了

我建了两个库 一个少了一个字段 这两天我一直用的这个错误的数据库地址。。。。。

哈哈 太苦逼了 这次

多谢版主 十分感谢您的热心回答哈

谢过了 在这里 ~

$sth = $db->query($sql);
$row = $sth->fetchAll();



多谢各位的热心了 谢谢 哈哈哈哈

人气教程排行