ホームページ  >  記事  >  バックエンド開発  >  PHP データベース操作 メンバー関数の呼び出し オブジェクト以外のエラー レポートに対する Execute()

PHP データベース操作 メンバー関数の呼び出し オブジェクト以外のエラー レポートに対する Execute()

WBOY
WBOYオリジナル
2016-06-20 12:43:332797ブラウズ

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;
試し {
$conn = 新しい PDO($dbPath);
//$conn->beginTransaction();
} catch(PDOException $e) {
echo '例外は:'.$e->getMessage();
}
$conn を返す;           
}
以上はデータ库の接続と查询操作です
include "shm_offset.php";
「sqlite.php」をインクルードします。

$obj= new sqlitedb();

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

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

$sql = 「data_3sec から合計として max(id) を選択」;
$total = $obj->query($conn,$sql);
$total = $total['0']['total'];
$now=$_GET['ページ']?$_GET['ページ']:1;
if($now >=$total){$now = $total;}
if($now $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'];

// ダンプ($data);
以上は部分的なメンバー関数の呼び出しであり、非オブジェクトに対する Execute() の前に、2 つのデータセットが実行可能であり、1 つのデータセットを変更した後、この問題を実行できます。来了求助各位高手


回复讨论(解决方案)

错误情報指示出 Execute メソッドが存在しませんが、哪里调用了 Execute

错误情報指示出 Execute メソッドが存在しませんが、你の代コード内にありません未見在哪里调用了

を実行

//查询操作
function query($conn,$sql) {
$result = array();
「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 '例外は:'.$e->getMessage();
}
$result を返す;
}
不好意思忘れ贴了

print_r($conn);
$sth = $conn->prepare($sql);
print_r($sth);

print_r($conn);
$sth = $conn->prepare($sql);
print_r($sth);


ただ表示された $conn の情報竟然是 PDO Object ( )これは不实例化成功ですか?

print_r($conn);
$sth = $conn->prepare($sql);
print_r($sth);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。