Php 为什么connection类不进行连接?
我是OOP和PHP新手,所以这里有个问题。有人能告诉我,我的连接课程有什么问题吗?它没有连接到数据库,我试图在try语句中使用var_dump($this),但它要么不起作用。此外,我正在将我的“dbname”更改为随机名称,代码仍然“有效” 这是我的密码:Php 为什么connection类不进行连接?,php,mysql,pdo,Php,Mysql,Pdo,我是OOP和PHP新手,所以这里有个问题。有人能告诉我,我的连接课程有什么问题吗?它没有连接到数据库,我试图在try语句中使用var_dump($this),但它要么不起作用。此外,我正在将我的“dbname”更改为随机名称,代码仍然“有效” 这是我的密码: <?php class connection { // Setting Database Source Name (DSN) public function __construct() {
<?php
class connection {
// Setting Database Source Name (DSN)
public function __construct() {
$dsn = 'mysql:host=localhost;dbname=employee';
// Setting options
$options = array (PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
// Making the connection to the database
try {
$this->dbh = new PDO($dsn, 'root', '', $options);
}
catch (PDOException $e) {
$this->error = $e->getMessage();
}
}
}
$connection = new connection();
?>
类中的每个方法都必须返回某些内容。 尝试:
尝试
echo$e->getMessage()在catch
中的code>以查看错误详细信息。由于try-catch阻塞,它可以工作。您应该首先启用显示错误。您的类属性尚未定义。是,请放在脚本错误报告(E_ALL)的顶部代码>和ini\u集(“显示错误”,1)代码>@sand谢谢,这很有帮助,数据库名称有误。。。有人能告诉我我的代码结构是好是坏吗?@YourCommonSense它不是必须是“单一负责原则”吗?即“连接”在1类中,向数据库插入值在另一个文件类中,等等?除此之外,我还试过你的代码,你在我上一个问题中发布过,但它不起作用,所以我试着从一开始就根据你的代码编写自己的代码。命名约定:最好以大写字母^true,edited开头一个类名--
class Connection {
private $connection;
// Setting Database Source Name (DSN)
public function __construct() {
$dsn = 'mysql:host=localhost;dbname=employee';
// Setting options
$options = array (PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
// Making the connection to the database
try {
$this->connection = new PDO($dsn, 'root', '', $options);
}
catch (PDOException $e) {
$this->error = $e->getMessage();
}
}
public function DoSomething()
{
//do something with your $this->connection and return some value;
}
}
$connection = new Connection();
echo $connection->DoSomething();