所以我想要替換我的全局變量,我堅持如何讓這個通過。使這個執行沒有全局的pdo對象
我的代碼的一個小例子:
# index.php:
include "dbc.php";
echo cName(1);
# dbc.php:
try{
$connect = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset:UTF8", DB_USER, DB_PASS, $driver_options);
}
catch(PDOException $pe)
{
die('Could connect to the database because: ' .$pe->getMessage());
}
function cName($cID){
global $connect;
$sql = $connect->prepare("SELECT name FROM cocos WHERE id=:id");
$sql->bindValue(":id", $cID);
$sql->execute();
$sql = $sql->fetch();
return $sql["name"];
}
正如你可以看到我做全球$功能CNAME()內連接。我對所有其他功能都做到了,看起來非常糟糕。
我不能做任何事情沒有它?它說未定義的函數,如果我沒有全局變量。
我知道我可以添加一個參數,CNAME($連接,1)
不過這對我來說,看起來像其他的馬虎。由於我有很多功能,我總是需要爲此連接添加一個額外的參數。
那麼我能做些什麼,沒有額外的參數或全局變量?
我想也許你可以做一個函數/類/對象來處理所有的數據庫通信,但我不知道從哪裏開始以及應該如何完成?
類似於:
dbQuery($ query);
但是再次,你不能指定bindValue(),在某些情況下,你需要綁定多於一個值比上面的例子。
真的希望這個解決方案的,由於在前進
請問意見,如果問題
據我所知,沒有避免它。 – JMichelB