我正在尝试使用try块建立PDO
连接,然后在建立连接后打印成功消息。我的代码如下:
index.php:
<?php
require_once './vendor/autoload.php';
$con = new \app\db\Connect();
if ($con)
{
echo 'connection successful.';
}
connect.php
<?php
namespace app\db;
class Connect
{
public function __construct()
{
// set the connection variables
$host = 'localhost';
$dbname = 'pdoposts';
$username = 'root';
$password = 'root';
// create the DSN
$dsn = 'mysql:host=' . $host . ';dbname=' .$dbname;
// create PDO connection
try {
static $con;
$con = new PDO($dsn, $username, $password);
} catch(Exception $e) {
echo $e->getMessage();
}
return $con;
}
}
我的问题是我无法使用$con
文件中try - catch
命令中创建的index.php
。我很抱歉,如果这个问题看起来非常基本和基本,但请帮助我理解它是如何工作的。
非常感谢你提前。
答案 0 :(得分:0)
根据以下答案:
The solution here on stackoverflow
我刚刚在PDO
之前添加了反斜杠,并使其成为\PDO
,现在它正常运行。以下链接有助于了解PHP Callbacks
以及它们如何更好地运作:
Using namespaces: fallback to global function/constant
我应该记住我想要使用namespace
的{{1}}。在这种情况下,使用PDO
会告诉php使用\
中的PDO,而不是Global Namespace
中代码运行的命名空间。