Home  >  Article  >  Backend Development  >  如何在源码中找出sql语句的位置呢

如何在源码中找出sql语句的位置呢

WBOY
WBOYOriginal
2016-06-23 13:47:501329browse

下面这个图中箭头指的地方肯定是一个数组,而这个数组肯定在之前是sql出来的,我想找出这个sql句,不知如何查呢源码呢?主要是关键字怎么输呢


回复讨论(解决方案)

查找 $output 变量。

在引入这个模版文件的php页面查找$output

 我查了一下,没有,引入的页面是index.php

查找 $output 变量。


整个源码中有几百处引用$output,看的我头婚眼又花啊,妈牙!这可咋整,还有别的招吗?

查navigation这个model的类

我还是帖出index.php引入页的源码吧

<?php/** * 商城板块初始化文件 * * 商城板块初始化文件,引用框架初始化文件 * * * @copyright  Copyright (c) 2007-2013 ShopNC Inc. (http://www.shopnc.net) * @license    http://www.shopnc.net * @link       http://www.shopnc.net * @since      File available since Release v1.1 */define('APP_ID','cms');define('BASE_PATH',str_replace('\\','/',dirname(__FILE__)));if (!@include(dirname(dirname(__FILE__)).'/global.php')) exit('global.php isn\'t exists!');if (!@include(BASE_CORE_PATH.'/shopnc.php')) exit('shopnc.php isn\'t exists!');if (!@include(BASE_PATH.'/config/config.ini.php')){	@header("Location: install/index.php");die;}define('APP_SITE_URL',CMS_SITE_URL);define('TPL_NAME',TPL_CMS_NAME);define('BASE_TPL_PATH',BASE_PATH.'/templates/'.TPL_NAME);define('CMS_RESOURCE_SITE_URL',CMS_SITE_URL.'/resource');define('CMS_TEMPLATES_URL',CMS_SITE_URL.'/templates/'.TPL_NAME);define('CMS_BASE_TPL_PATH',dirname(__FILE__).'/templates/'.TPL_NAME);define('CMS_SEO_KEYWORD',$config['seo_keywords']);define('CMS_SEO_DESCRIPTION',$config['seo_description']);//cms框架扩展require(BASE_PATH.'/framework/function/function.php');if (!@include(BASE_PATH.'/control/control.php')) exit('control.php isn\'t exists!');Base::run();

查navigation这个model的类


不好意思,这个类有是有,但里面是空的

它里面有这么一句话:
/**
 * 获取导航
 */
Tpl::output('nav_list',($nav = F('nav'))? $nav :H('nav',true,'file'));

不知从这句中查哪里呢

用 debug_backtrace 看一下

用 debug_backtrace 看一下

试了一下,打印出这么一大坨,这怎么判断呢

[code=php]
Array ( [0] => Array ( [file] => D:\WWW\cms\templates\default\layout\cms_layout.php [line] => 3 [function] => require ) [1] => Array ( [file] => D:\WWW\core\framework\libraries\tpl.php [line] => 118 [args] => Array ( [0] => D:\WWW\cms\templates\default\layout\cms_layout.php ) [function] => include_once ) [2] => Array ( [file] => D:\WWW\cms\control\index.php [line] => 20 [function] => showpage [class] => Tpl [type] => :: [args] => Array ( [0] => index ) ) [3] => Array ( [file] => D:\WWW\core\framework\core\base.php [line] => 97 [function] => indexOp [class] => indexControl [object] => indexControl Object ( [publisher_name:protected] => [publisher_id:protected] => 0 [publisher_type:protected] => 0 [attachment_path:protected] => [publish_state:protected] => 2 ) [type] => -> [args] => Array ( ) ) [4] => Array ( [file] => D:\WWW\core\framework\core\base.php [line] => 52 [function] => control [class] => Base [type] => :: [args] => Array ( ) ) [5] => Array ( [file] => D:\WWW\cms\index.php [line] => 35 [function] => run [class] => Base [type] => :: [args] => Array ( ) ) )
[/code]

我突然想到了,它会不会是一个表单,因为这个是后台输入的,只要一输入就进入这个数组里面,结果一查还真是,不过还有一点疑问,那就是这个数组索引在td中啊,虽然这个td在form表单中,但是就是这样,他也不会在表单值中啊,因为表单我理解必须在input中才行,这个怎么解释呢

还有一点就是:这个 $output到底在哪里定义的,它不可能凭空就有的,肯定是在哪里定义的
我搜了下源码,到是有不少$output,但是都不象定义的初始模样,很多一看就是引用的。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn