欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-02-09 19:17:46
...
本帖最后由 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();



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