ホームページ >バックエンド開発 >PHPチュートリアル >discuz プラグインはデータベースをどのように操作しますか?

discuz プラグインはデータベースをどのように操作しますか?

WBOY
WBOYオリジナル
2016-06-23 13:51:471168ブラウズ

add.inc.php:

<?phpif(!defined('IN_DISCUZ')) {        exit('Access Denied');}$q1 = $_REQUEST['q1']; $addtime = time();	$insert_array = array(			'baankid'=>$q1,	);	$cone = DB::insert('pre_xyk',$insert_array);?> 


echo $q1; 出力はありますが、データを書き込めないのはなぜですか?

DZ プラグインはデータベースをどのように操作しますか?

add.inc.php を正しく書くには?まず、ありがとうございます!


ディスカッションに返信 (解決策)

require './source/class/class_core.php';C::app()->init();$insert_array = array(	'classname'=>'test',	'uid'=>1,	'dateline'=>time());if(DB::insert('home_class',$insert_array)){	echo 'ok';}/*ok*/

挿入が失敗した場合、Discuz はエラーを報告する必要があります。なぜエラー メッセージがないのですか?
推測:
1. class_core.php は導入されておらず、初期化されていません。 DB から呼び出すことはできません
2. pre_xyk はテーブルの完全な名前です (設定されている場合)

<?phprequire './source/class/class_core.php';C::app()->init(); $insert_array = array(    'baankid'=>1,);if(DB::insert('xyk',$insert_array)){    echo 'ok';}?> 


このように実行しても 書き込みはありません
プラグインブロックにadd.inc.phpを定義する必要がありますか?

失敗した場合は、エラーレポートであるプロンプトが常に表示されます
このページに単独でアクセスして、成功するかどうかを確認できます

このページに単独でアクセスすると、出力はなく、空白になります

include '../source/class/class_core.php';$discuz = & discuz_core::instance();$discuz->init();print_r($_G);


次のような変数出力があります。なぜですか? :

include '../source/class/class_core.php';

../ には出力がありますが、 ./ には出力がありません。

require '../../../source/class/class_core.php';//引入系统核心文件$discuz = & discuz_core::instance();//以下代码为创建及初始化对象$discuz->cachelist = $cachelist;$discuz->init();//以上是调用discuz公共执行类等核心代码//写入数据库$arr=array();$arr['userid'] = $userid;$count1=DB::insert('xyk',$arr);


この方法ではすでに書くことができます。なぜそうしなければならないのかわかりません:
require '../../../source/class/class_core.php';//引入系统核心文件


この方法ではできません:
require './source/class/class_core.php';//引入系统核心文件


パスが設定されていませんか?

..上位ディレクトリから検索を開始します
.現在のディレクトリから検索を開始します

さて、jam00 さん、辛抱強く答えていただき、ありがとうございます!

しかし、すべてのプラグインが ../../../ を使用していないことがわかりました。

すべての ./ は正常に動作します

ディレクトリレベルの数は同じですが、なぜ ../ を使用する必要があるのでしょうか../../?絶対パスを使用できないのはなぜですか?

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