我正在尝试编写一个连接数据库的函数并返回一些要显示的数据,我有:
function viewer ($view_type){
if ($view_type=1){
$query="SELECT * FROM table WHERE the_id='1234'";
$run= mysqli_query($dbc, $query) or die....;
以下是:
include('/../includes/connect.php');
$view= 1;
viewer($view);
这是我得到未定义变量dbc错误的地方。 $ dbc变量在connect.php中定义,在include()中调用。我意识到函数不能调用include()变量。
我做了一些研究,发现我可以把它称为全局变量。但是我对此持谨慎态度,因为dbc变量包含敏感的DB信息:
$dbc=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
我还尝试将include添加到函数本身,但是因为我需要在调用函数之前连接到页面上的DB我收到'变量DB_HOST已定义'错误。 将$ dbc定义为全局变量是否合适?如果不是我怎么能绕过这个?
答案 0 :(得分:1)
我认为没关系:
function viewer ($view_type){
GLOBAL $dbc; // here is your database connection
if ($view_type=1){
$query="SELECT * FROM table WHERE the_id='1234'";
$run= mysqli_query($dbc, $query) or die....;
答案 1 :(得分:0)
放入当前文件(其中名为viewer())
global $dbc;
包含您的连接脚本