2015-07-20 64 views
0

好的。你好傢伙使用全局數據庫連接不起作用

我有一些問題與我的數據庫連接和使用它在PHP中。

我正常的文件結構:

db.php中

$mysql_server = "server"; 
$mysql_user  = "user"; 
$mysql_password = "password"; 
$mysql_db  = "name"; 

$db = new mysqli($mysql_server, $mysql_user, $mysql_password, $mysql_db); 
if ($db->connect_errno) { 
    exit(); 
} 
$db->set_charset("utf8"); 

functions.php文件

require_once("db.php"); 

function func_name() { 
    global $db; 
    //doing my work here with $db; 
} 

我100%肯定的憑據我用戶都OK,所以這是不問題。

你能給我一些建議嗎?我在每個項目中都使用這種結構,現在我正在努力弄清楚自己的想法。我敢打賭,是我錯過了!

請幫忙!謝謝!

+1

你忘了告訴我們錯誤信息 – Daimos

+0

它沒有良好的操控使用*全球* =>更好的使用功能FUNC_NAME($ DB),2. db.php中調用一個*退出()*功能......當出現錯誤時回聲一些,或者更好地拋出Exeption – donald123

+0

請更新您提出的問題,並在發出「不工作」時輸出。在你的問題中沒有足夠的信息讓我們做任何超過推測的事情。屏幕上/日誌中是否有錯誤信息?它是否退出()'?你有沒有在全球範圍內意外覆蓋$ db? –

回答

0

嘗試使用下面的代碼!

<?php 
$mysql_server = "localhost"; 
$mysql_user = "root"; 
$mysql_password = ""; 
$mysql_db  = "dbName"; 

$db = new mysqli($mysql_server, $mysql_user, $mysql_password, $mysql_db); 
if ($db->connect_errno) 
{ 
    exit(); 
} 
$db->set_charset("utf8"); 


function func_name() { 
    global $db; 
    $sql = "SELECT text FROM tableName"; 
    $result = $db->query($sql); 

    if ($result->num_rows > 0) { 

    while ($row = $result->fetch_assoc()) { 
     echo $row["columnName"]; 
    } 
    } else { 
    echo "0 results"; 
    } 
} 

func_name(); 
mysqli_close($db); 
?>