您好我正在尝试使用连接来验证并最终将用户注册到我的数据库中。我创建了一个名为Registration
的类,其中包含我的验证方法等等。但是我的PDO连接/声明这个变量有问题。这是一些代码:
开始
<?php
require 'includes/crypt/lib/password.php';
require 'includes/db_connect.php';
require 'includes/authentication_generator.php';
当前代码:不工作
$pdo = connect();
class Registration{
//Variables used
public $errors = array();
public $pdo;
public function __construct(){
$pdo = connect();
}
我尝试的其他方式
class Registration{
//Variables used
public $errors = array();
$pdo = connect();
此代码给出了错误Parse error: syntax error, unexpected '$pdo' (T_VARIABLE), expecting function (T_FUNCTION) in C:\xampp\htdocs\rdr_dev\includes\registration.php on line 9
第二次尝试
class Registration{
//Variables used
public $errors = array();
public $pdo = connect();
这给了我错误Parse error: syntax error, unexpected '(', expecting ',' or ';' in C:\xampp\htdocs\rdr_dev\includes\registration.php on line 9
我有点想法,我想知道是否有更好的方法来使用这个连接,因为我试图在我要使用它的每个页面上声明它,它告诉我它不可能宣称不止一次。关于如何使用它的当前标准是什么?
由于
答案 0 :(得分:0)
在Google和Murach的书中提供了很少的帮助
<强>码强>
要求'includes / db_connect.php';
class Registration{
//Variables used
public $errors = array();
private $pdo;
public function __construct(){
$con = new Connection();
$this->pdo = $con->getConnection();
}
重新创建数据库连接到类
class Connection{
protected $db;
public function Connection(){
$conn = NULL;
try{
$conn = new PDO("mysql:host=localhost;dbname=RDR_Dev", "", "");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
echo 'ERROR: ' . $e->getMessage();
}
$this->db = $conn;
}
public function getConnection(){
return $this->db;
}
}
感谢您帮助所有人!