所以我想要替换我的全局变量,我坚持如何让这个通过。使这个执行没有全局的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