首页 >后端开发 >php教程 >PHP 利用PDO操作SQlite 无法执行 WHERE IN () 请各位指教~

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

WBOY
WBOY原创
2016-06-23 14:22:041024浏览

本帖最后由 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();



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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn