在PHP(PDO)中将MySQL连接详细信息存储为函数
我正在尝试PDO扩展,想知道是否可以将DB连接的打开存储为一个函数,在需要时可以调用该函数。我试过一些基本的东西,但似乎不起作用。可以吗 示例函数在PHP(PDO)中将MySQL连接详细信息存储为函数,php,mysql,function,pdo,Php,Mysql,Function,Pdo,我正在尝试PDO扩展,想知道是否可以将DB连接的打开存储为一个函数,在需要时可以调用该函数。我试过一些基本的东西,但似乎不起作用。可以吗 示例函数 function DB() { $conn = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if (!$conn) {
function DB() {
$conn = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if (!$conn) {
echo "<br />MySQL SERVER CONNECTION ERROR.<br />\n";
}
if($conn) {
return $conn;
}
}
称之为:
$conn=$this->DB()
或
$conn=$className->DB()
$this
没有预先定义?如果函数在同一类中,则需要调用$this。否则,如果它在另一个类中,则创建该类的一个实例并在第二个示例中调用。对不起,我可能遗漏了一些内容。根本没有类,只有独立的函数。
function is_post_id($submitted) {
try {
$id = $submitted;
DB();
//check to see if there is a post
//with an id matching the submitted query
$qPOST= $conn->prepare('SELECT COUNT(*) FROM posts WHERE id = :id');
$qPOST->execute(array('id' => $id));
//results counted
$cPOST= (int)$qPOST->fetchColumn();
if($cPOST > 0) {
return TRUE;
}
else {
return FALSE;
}
} catch(PDOException $e) {
echo $e->getMessage();
}
}