php数据库操作Call to a member function Execute() on a non-obje报错

Akuma_lht 2015-12-02 10:23:17
class sqlitedb {
//打开sqlite数据库
function conn($dbname) {
$conn = null;
$path ="/etc/ypm/system.cfg";
if(file_exists($path)){
$dbname = str_replace('../', '', $dbname);
$dbname = str_replace('./', '', $dbname);
require_once('pqmdconfig.php');
$key = "dbpath";//verpath
$dbname = getConfig($key,$path).$dbname;
}
$dbPath = 'sqlite:'.$dbname;
try {
$conn = new PDO($dbPath);
//$conn->beginTransaction();
} catch(PDOException $e) {
echo 'Exception is:'.$e->getMessage();
}
return $conn;
}
以上是数据库的链接和查询操作
include "shm_offset.php";
include "sqlite.php";

$obj= new sqlitedb();

if ( isset($_GET['page'])) {//翻页处理

if($conn=$obj->conn('../ypm.db')){

$sql = "select max(id) as total from data_3sec ";
$total = $obj->query($conn,$sql);
$total = $total['0']['total'];
$now=$_GET['page']?$_GET['page']:1;
if($now >=$total){$now = $total;}
if($now <1){$now = 1;}
$list = $now;

$argv = $_GET['argv'];
$argv = explode("|",$argv);
$num = count($argv)-1;

//$sql = "select data,time from data_3sec order by id desc limit ".$list.",1";
$sql = "select data,time,id from data_3sec order by time desc limit 1 offset ".($list-1);
//因为数据量庞大,无法计算总数(卡死),所以改成ID
//dump($sql);
// exit();

$result = $obj->query($conn,$sql);
$data=$result[0]['data'];

// dump($data);
以上是部分查询代码 Call to a member function Execute() on a non-obje 之前是两个数据库是可以运行的,现在改成了一个数据库之后就报这个错误,代码数据库名字方面也该多来了求助各位高手
...全文
465 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Akuma_lht 2015-12-02
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
print_r($conn); $sth = $conn->prepare($sql); print_r($sth);
终于知道问题在哪了有个地方数据库名字没改到,真是谢谢了要不是print()还找不到,公司临时给的任务也没学过php
Akuma_lht 2015-12-02
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
print_r($conn); $sth = $conn->prepare($sql); print_r($sth);
只显示了$conn的信息竟然是PDO Object ( )这是没实例化成功?
xuzuning 2015-12-02
  • 打赏
  • 举报
回复
print_r($conn); $sth = $conn->prepare($sql); print_r($sth);
Akuma_lht 2015-12-02
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
错误信息指出 Execute 方法不存在,但在你的代码中并未看到在哪里调用了 Execute
//查询操作 function query($conn,$sql) { $result = array(); include "shm_offset.php"; if(count($m_fUsys_OffSet)<2){ if(strpos($sql,'and')==false && strpos($sql,'line')!==false){ $sql = str_replace('where','',$sql); } $sql = str_replace('line','',$sql); $sql = str_replace('=0','',$sql); $sql = str_replace('= 0','',$sql); } try { $sth = $conn->prepare($sql); $sth->execute(); //获取结果 //var_dump($conn); $result = $sth->fetchAll(); } catch(PDOException $e) { echo 'Exception is:'.$e->getMessage(); } return $result; } 不好意思忘贴了
xuzuning 2015-12-02
  • 打赏
  • 举报
回复
错误信息指出 Execute 方法不存在,但在你的代码中并未看到在哪里调用了 Execute
代码下载地址: https://pan.quark.cn/s/8236006bf1f9 Word精灵插件:一款用于增强Microsoft Word功能的辅助软件,能够将多种复杂功能转化为插件形式,并在软件状态栏中进行展示,涵盖诸如批注管理、表格处理、内容替换、文档拆分、数学运算、字符提取、批量重命名等多项实用工具。在工作环境中应用该插件能够显著降低工作强度,提升操作效率。Word精灵插件兼容32位与64位的Microsoft Word版本,支持Word 2007、2010、2013以及Word 2016操作系统,但不适用于Word 2003版本。此外,该插件同样支持WPS办公软件。 功能概述: 1、表格自动调整宽度:自动优化文档内所有表格的显示宽度。 2、批量导出批注信息:将文档内所有批注集中导出到Excel工作簿中。 3、表格至Excel多表导出:在将表格导出到Excel时,每个Word表格将独立存放在一个工作表中,Word文档内的表格数量与Excel生成的工作表数量相等,并附有工作表目录。 4、表格至Excel单表导出:将文档内所有表格整合后导出到一个Excel工作表中,多个表格将按顺序排列于同一工作表内。 5、统一图片分辨率:对指定文件夹内的所有图片进行分辨率标准化处理。 6、图片批量缩放:依据设定比例对图片进行放大或缩小,支持按百分比调整。 7、图片批量插入:将图片批量插入到当前文档,可选择图片名称的展示形式,并设定图片的高度。 8、图片格式统一转换:将指定文件夹内的所有图片转换为相同的文件格式。 9、内容批量替换:对文档内容、页眉及页脚执行批量替换操作,例如将数字1替换为字母A,数字2替换为字母B,数字3替换为字母C等。 10、图片批量导出:将文档内所...

20,393

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧