この投稿は 2014-06-07 10:21:04 に hicoo によって最終編集されました a.php ページはデータ リンク変数です
$dbhost = "localhost";
$dbname = "ffff";
$dbuser = "cccc";
$dbpwd = "123456";
$dbprefix = "user";
$db_lang = "gbk";
b.php ページ クラスには、さまざまなデータベースの操作関数が含まれています
require_once("../data/a.php");
class mydatabase{
// データベースへのリンク
function opendata($database){
このメソッドでは、クラス外のすべての変数を取得する方法
}
// レコードをクエリ
function ReadOne($database){
self::opendata($database);
$rs = mysql_query("SELECT * from fcc where id=1");
$row = mysql_fetch_array($ rs) ;
self::closedata();
return $row["date"];
}
}
-----解決策- - ------------------// リンクデータベース
function opendata($database){
include(".. / data/a.php");}
または定数として定義します
require_once("../data/a.php") データベース関連のパラメータがグローバル変数になり、同じ名前の変数が上書きされる可能性があります
これは、$GLOBALS 配列を通じて簡単に確認することもできます
------解決策----- ---------------
基本にもっと注意を払う必要があります
<br />require_once("../data/a.php");<br /><br />class mydatabase {<br /><br /> // 链接数据库<br /> function opendata($database) {<br /> //方法一<br /> global $dbhost , $dbname , $dbuser , $dbpwd , $dbprefix , $db_language;<br /> //方法二<br /> require_once("../data/a.php");<br /> //方法三<br /> //在a.php把变量全部定义成常量<br /> define('DB_HOST' , 'test');<br /> //调用的时候直接 使用DB_HOST<br /> echo DB_HOST;<br /> <br /> }<br /><br /><br /> //查询一条记录<br /> function ReadOne($database) {<br /> self::opendata($database);<br /> $rs = mysql_query("SELECT * from fcc where id=1");<br /> $row = mysql_fetch_array($rs);<br /> self::closedata();<br /> return $row["date"];<br /> <br /> }<br /><br />}<br />
-- ---解決策--- ------------------
a.php の変数は同じ配列に書き込むことをお勧めします。それを関数に変更して、配列
を返し、それに名前を付けることができます。 汚染は時々非常に嫌なものです
------解決策----------
一般的にこれらの設定情報は定数になる方が良いです
-----解決策---------
最初の方法は定数を使用するため、どこでも使用できます../data/a.php
<br /><?php<br /> define('MYHOST', 'localhost');<br /> define('MYUSER', 'cccc');<br /> define('MYPWD', '123456');<br />?><br />
<br /><?php<br />require_once("../data/a.php");<br /><br />class mydatabase{<br /><br /> private $myhost;<br /> private $myuser;<br /> private $mypwd;<br /><br /> public function __construct(){<br /> $this->myhost = MYHOST;<br /> $this->myuser = MYUSER;<br /> $this->mypwd = MYPWD;<br /> }<br /><br /> function opendata($database){<br /> $linkid = mysql_connect($this->myhost, $this->myuser, $this->mypwd);<br /> }<br /><br />}<br />?><br />
2 番目に、構成配列を使用します ../data/a.php
<br /><?php<br />return array(<br /> 'myhost' => 'localhost',<br /> 'myuser' => 'cccc',<br /> 'mypwd' => '123456'<br />);<br />
<?php<br>class mydatabase{<br><div class="clear"></div>