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

WBOY
发布: 2016-06-23 13:47:50
原创
1372 人浏览过

下面这个图中箭头指的地方肯定是一个数组,而这个数组肯定在之前是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,但是都不象定义的初始模样,很多一看就是引用的。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板