首頁  >  文章  >  後端開發  >  PHP 利用PDO操作SQlite 无法执行 WHERE IN () 请各位指教~

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

WBOY
WBOY原創
2016-06-23 14:22:041008瀏覽

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