2014-10-01 105 views
1

所以我真的只想讓東西更容易閱讀,只是創建一個函數,我可以調用數據庫連接,下面是我試圖做的遠。在php中使用函數來創建數據庫連接?

到目前爲止,它不起作用,它根本沒有帶來任何消息,因此推測它不會進入嘗試。

的functions.php

function getDBConnection() 
{ 
    try 
    { 
     $db = new PDO('mysql:host=localhost;dbname=name;charset=utf8', 'username', 'password'); 
     $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Set error mode 
    } 
    catch(PDOException $e) 
    { 
     echo 'An error occured talking to the DB'; 
    } 
    return $db; 
} 

然後做

submittest.php

require('functions.php'); 
getDBConnection(); //return $db 


$username = 'donkey'; 
$password = 'donkey'; 
$email = 'donkey'; 
$county = 'donkey'; 

    try 
    { 
     //Prepare and execute an insert into DB 
     $st = $db->prepare("INSERT INTO users(login,pass,email,county) VALUES(:username,:password,:email,:county)"); 
     $st->execute(array(':username' => $username, ':password' => $password, ':email' => $email, ':county' => $county)); 
     echo 'Success'; 
    } 
    catch (PDOException $e) 
    { 
     echo 'An error occurred talking to the DB'; 
    } 
?> 
+1

有什麼問題嗎?這不工作?你測試過了嗎? – 2014-10-01 20:17:00

+0

是的,它只是帶來了一個空白頁面,所以它似乎甚至不想進入看起來的嘗試。還檢查了它是否在數據庫中,什麼都沒有。 – 2014-10-01 20:19:06

+0

你是否硬編碼用戶並通過函數?爲什麼不把它們作爲@params傳遞給函數?我知道它可能與你的問題無關,但它會更容易。 – tfrascaroli 2014-10-01 20:19:55

回答

5
$db = getDBConnection(); //return $db 
+0

哈哈,真的那個xD – Andreas 2014-10-01 20:23:09

+0

OMG !!! AHAHAH就是這樣一個缺失的東西?耶穌!謝謝 – 2014-10-01 20:23:19