我是php的新手。 我有一个文件用于连接数据库" db_connection.php "。
<?php
//With constants
define("DB_SERVER","localhost");
define("DB_USER","root");
define("DB_PASS","");
define("DB_NAME","db_name");
$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
// Test if connection succeeded
if(mysqli_connect_errno()) {
die("Database connection failed: " .
mysqli_connect_error() .
" (" . mysqli_connect_errno() . ")"
);
}
?>
我还有一个名为&#34; functions.php &#34;的其他文件。其中我有查询功能
<?php
function confirm_query($result_set){
if (!$result_set) {
die("Database query failed.");
}
}
function find_all_subjects(){
global $connection;
$query = "SELECT * ";
$query .= "FROM subjects ";
$query .= "WHERE visible = 1 ";
$query .= "ORDER BY position ASC";
$subject_set = mysqli_query($connection, $query);
// Test if there was a query error
confirm_query($subject_set);
return $subject_set;
}
?>
我调用函数&#34; main.php&#34;
的主文件<?php require_once("db_connection.php"); ?>
<?php require_once("functions.php"); ?>
<?php $subject_set = find_all_subjects(); ?>
没有问题一切正常,但你能解释&#34; functions.php&#34; 中的全局$ connection; 实际上是如何工作的?
答案 0 :(得分:0)
当你写那行时
<?php require_once("db_connection.php"); ?>
然后表现得像db_connection.php文件一样写入该文件。
然后你写的其他一行
<?php require_once("functions.php"); ?>
然后就像你在main.php文件中编写function.php文件一样 工作正常..
答案 1 :(得分:0)
当您在网页中包含或要求PHP文件时,即使您将所有代码和功能拆分为单独的文件,如果只包含一个包含单独文件中所有代码的文件,则基本相同。
所以你在&#34; db_connection.php&#34;中声明/创建一个变量。如果你在&#34; functions.php&#34;中创建它,它的工作方式是相同的。如果你在同一页面中包含这两个文件。
如果你使用单独的文件,这就是你必须小心变量,函数等命名的原因。