私はPHPが新しくできています。 データベース「db_connection.php」への接続用のファイルが1つあります。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() . ")"
);
}
?>
私は、クエリ
<?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;
}
?>
i "がmain.php" 関数を呼び出すメインファイル
する機能を持っている.where私も " のfunctions.php" と呼ばれる別のファイルを持っています<?php require_once("db_connection.php"); ?>
<?php require_once("functions.php"); ?>
<?php $subject_set = find_all_subjects(); ?>
すべて問題なく動作しますが、どのように説明できますか?グローバル$接続; inside "functions.php"は実際に動作していますか?
グローバルがどのように機能するかは、コーディングの基本です。 php docsを見てください。 BTW:グローバルから手を引く。 .... –
このスタイルを使用する代わりにOOPを使用する必要があります ** global **を使用すると、関数の外に定義された変数にアクセスすることができます。このドキュメント[link](http://php.net/manual/en/language.variables.scope.php)を確認してください。 –