関数を呼び出すときにデータベース接続ファイルを関数本体に配置する必要があるのはなぜですか?

WBOY
リリース: 2016-06-13 12:42:01
オリジナル
988 人が閲覧しました

関数を呼び出すときにデータベース接続ファイルを関数本体に配置する必要があるのはなぜですか?
次のプログラムのように:

<? <br />
header("Content-type: text/html; charset=gb2312"); <br />
<br />
  $act=$_GET["act"];<br />
<br />
if($act=="del")	{		 	//删除记录<br />
	$id =$_GET["id"];<br />
	require('conn.php');<br />
	$conn->query("delete from lyb where id=$id");<br />
	fy();	}<br />
<br />
if($act=="list") { fy();}<br />
<br />
function fy() {<br />
require('conn.php');<br />
 $sql="select * from lyb order by ID desc";<br />
	//echo $sql;<br />
<br />
$result=$conn->query($sql);}
ログイン後にコピー


以下に示すように、require('conn.php'); が関数の外に記述されている場合は機能しません。このように、if文が複数ある場合には、require('conn.php');を何度も書かなければならず、非常に不便です。パラメータも戻り値も持たない関数は、実際には関数本体のコードを関数が呼び出される位置に挿入するのと同じであると覚えていますが、ここからはそうではありません。

<? <br />
header("Content-type: text/html; charset=gb2312"); <br />
require('conn.php');<br />
  $act=$_GET["act"];<br />
<br />
if($act=="del")	{		 	//删除记录<br />
	$id =$_GET["id"];<br />
	$conn->query("delete from lyb where id=$id");<br />
	fy();	}<br />
<br />
if($act=="list") { fy();}<br />
<br />
function fy() {<br />
 $sql="select * from lyb order by ID desc";<br />
	//echo $sql;<br />
<br />
$result=$conn->query($sql);}
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート