dedecms教程:织梦系统$GLOBALS定义文件在哪

本文详细解析了DedeCMS中用于配置数据库连接的common.inc.php文件,特别是Init函数如何通过$GLOBALS全局变量获取数据库连接参数并进行初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DedeCMS数据库的信息是写在data/common.inc.php,而系统连接数据库时使用的有一个函数是:
function Init($pconnect=FALSE)    {
        $this->linkID = 0;        
        $this->dbHost   =  $GLOBALS['cfg_dbhost'];  //$GLOBALS在哪把信息放入$GLOBALS的?        
$this->dbUser   =  $GLOBALS['cfg_dbuser']; 
        $this->dbPwd    =  $GLOBALS['cfg_dbpwd']; 
        $this->dbName   =  $GLOBALS['cfg_dbname']; 
        $this->dbPrefix =  $GLOBALS['cfg_dbprefix']; 
        $this->result["me"] = 0; 
        $this->Open($pconnect);    }
它是在哪把信息放入$GLOBALS中的?  

回复:

$GLOBALS 是全局变量数组
凡是在函数和类以外定义的变量都在其中出现
比如 $GLOBALS['cfg_dbhost'] 就在 common.inc.php 中有 $cfg_dbhost = '~dbhost~';
当加载 common.inc.php 后就有 $GLOBALS['cfg_dbhost']

``` <?php if( isset( $_POST[ 'Submit' ] ) ) { // Get input $id = $_POST[ 'id' ]; $id = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $id); switch ($_DVWA['SQLI_DB']) { case MYSQL: $query = "SELECT first_name, last_name FROM users WHERE user_id = $id;"; $result = mysqli_query($GLOBALS["___mysqli_ston"], $query) or die( '<pre>' . mysqli_error($GLOBALS["___mysqli_ston"]) . '</pre>' ); // Get results while( $row = mysqli_fetch_assoc( $result ) ) { // Display values $first = $row["first_name"]; $last = $row["last_name"]; // Feedback for end user echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>"; } break; case SQLITE: global $sqlite_db_connection; $query = "SELECT first_name, last_name FROM users WHERE user_id = $id;"; #print $query; try { $results = $sqlite_db_connection->query($query); } catch (Exception $e) { echo 'Caught exception: ' . $e->getMessage(); exit(); } if ($results) { while ($row = $results->fetchArray()) { // Get values $first = $row["first_name"]; $last = $row["last_name"]; // Feedback for end user echo "<pre>ID: {$id}<br />First name: {$first}<br />Surname: {$last}</pre>"; } } else { echo "Error in fetch ".$sqlite_db->lastErrorMsg(); } break; } } // This is used later on in the index.php page // Setting it here so we can close the database connection in here like in the rest of the source scripts $query = "SELECT COUNT(*) FROM users;"; $result = mysqli_query($GLOBALS["___mysqli_ston"], $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' ); $number_of_rows = mysqli_fetch_row( $result )[0]; mysqli_close($GLOBALS["___mysqli_ston"]); ?>```分析这段代码
最新发布
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值