2013-02-07 31 views
0

我想我正在用下面的方法得到自己的一個小小的頭,我想要做的是有一個PDO和在函數中調用的準備和執行。PDO連接/在函數中準備和執行

我試圖在每個函數中保存與PDO重複的代碼。

如果有人可以指出我是正確的方向,這將是偉大的,也有任何建議,我目前正試圖從文章中找出所有。然後在下面給我打電話給一個成員函數準備()一個非對象在...

2個其他問題

  1. 我應該把嘗試在功能的執行和準備,是 這種常見做法?
  2. 是否有可能將$ db放入函數 並在需要時調用它,以便將模塊放回原位?

任何幫助非常感謝。

ini_set('error_reporting', E_ALL); 
ini_set('display_errors', 1); 
ini_set('log_errors', 1); 

$config['db'] = array(
    'host' => 'localhost', 
    'username' => 'root', 
    'password' => 'root', 
    'dbname' => 'bhill'); 
$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'], 
    $config['db']['username'], $config['db']['password']); 
try { 
    $db->exec("SET CHARACTER SET utf8"); 
    //$db = null; 
} 
catch (PDOException $ex) { 
    print "Error!: " . $ex->getMessage() . "<br/>"; 
    die(); 
} 

function update($db, $fn, $ln, $email, $offers, $vlue, $responce) 
{ 
    $stmt = $db->prepare("insert into kkt (fName_765, lName_765, email_765, signup_765, kkt_resp_765, kkt_respSate_765, stamp_765) values (:fname, :lname, :email, :signup, :kkt_rsp, :kkt_respState, NOW())"); 
    $stmt->bindParam(':fname', $fn, PDO::PARAM_STR); 
    $stmt->bindParam(':lname', $ln, PDO::PARAM_STR); 
    $stmt->bindParam(':email', $email, PDO::PARAM_STR); 
    $stmt->bindParam(':signup', $offers, PDO::PARAM_STR); 
    $stmt->bindParam(':kkt_rsp', $vlue, PDO::PARAM_STR); 
    $stmt->bindParam(':kkt_respState', $responce, PDO::PARAM_STR); 
    $stmt->execute(); 
    $stmt = null; 
} 

$fn = 'test'; 
$ln = 'test'; 
$email = '[email protected],com'; 
$offers = '1'; 
$vlue = 'value'; 
$responce = 'resp'; 

update($db, $fn, $ln, $email, $offers, $vlue, $responce); 

回答

5

你正在做的:

$db = null; 

後您設置編碼。這基本上刪除了該實例。

+0

好神,我一定是看了太久,謝謝。現在病得很厲害,感謝敏銳的眼神 – odd

+0

屎發生;) – PeeHaa