ホームページ  >  記事  >  バックエンド開発  >  関数を呼び出すときにデータベース接続ファイルを関数本体に配置する必要があるのはなぜですか?

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

WBOY
WBOYオリジナル
2016-06-13 12:42:01984ブラウズ

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

<? <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);}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。