Fatal error: Call to a member function prepare() on a non object on line 15
Fatal error: Call to a member function prepare() on a non object on line 15
任何人都可以帮我找出这个代码博客中的错误吗?代码在这里:..........
<?php
include_once('classdatabase.php');
class ManageUsers{
public $link;
function __construct(){
$db_connection= new dbConnection();
$this->link=$db_connection->connect();
return $this->link;
}
function registerUsers($username,$password){
// include_once('classdatabase.php');
$query=$this->link->prepare("insert into users (username, password) VALUES (?,?)");// the error is just noticed this line !
$values=array($username,$password);
$query->execute($values);
$count=$query->rowCount();
return $count;
}
}
$users= new ManageUsers();
echo $users->registerUsers('emi','emi');
?>
接下来这是另一个 PHP class 文件(classdatabase.php),我在其中声明了主数据库连接,代码在此处:
<?php
class dbConnection{
protected $db_conn;
public $db_name='todo';
public $db_user='root';
public $db_pass='';
public $db_host='localhost';
function connect(){
try{ $this->db_conn= new PDO("mysql:host= $this->db_host;dbname=$this->db_name",$this->db_user,$this->db_pass);
return $this->db_conn;
} catch(PDOException $e){
return $e->getMessage();
}
}
}
?>
有错误,error-
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\Todo\Classes\class.ManageUsers.php on line 15
您需要访问您的 $this->db_conn
。试试这些模组。我已经在自己的数据库上对其进行了测试,并且可以正常工作。如果您仍然有问题,那么您可能需要检查您是否使用了正确的连接凭据,因为唯一不起作用的方法是连接失败并且 returns 错误而不是 class ($this
):
class dbConnection
{
// Create public connection
public $db_conn;
public $db_name = 'todo';
public $db_use = 'root';
public $db_pass = '';
public $db_hos = 'localhost';
public function connect()
{
try {
// Try concatenating your db credentials
$this->db_conn = new PDO('mysql:host='.$this->db_host.';dbname='.$this->db_conn,$this->db_user,$this->db_pass);
// return $this only
return $this;
}
catch(PDOException $e) {
// Try exiting and printing the error.
print_r($e->errorInfo());
exit;
}
}
}
class ManageUsers
{
public $link;
public function __construct(){
$db_connection = new dbConnection();
// Assign method chained connection
$this->link = $db_connection->connect()->db_conn;
}
function registerUsers($username,$password){
// include_once('classdatabase.php');
$query = $this->link->prepare("insert into users (username, password) VALUES (?,?)");// the error is just noticed this line !
$values = array($username,$password);
$query->execute($values);
$count = $query->rowCount();
return $count;
}
}
$users = new ManageUsers();
echo $users->registerUsers('emi','emi');
任何人都可以帮我找出这个代码博客中的错误吗?代码在这里:..........
<?php
include_once('classdatabase.php');
class ManageUsers{
public $link;
function __construct(){
$db_connection= new dbConnection();
$this->link=$db_connection->connect();
return $this->link;
}
function registerUsers($username,$password){
// include_once('classdatabase.php');
$query=$this->link->prepare("insert into users (username, password) VALUES (?,?)");// the error is just noticed this line !
$values=array($username,$password);
$query->execute($values);
$count=$query->rowCount();
return $count;
}
}
$users= new ManageUsers();
echo $users->registerUsers('emi','emi');
?>
接下来这是另一个 PHP class 文件(classdatabase.php),我在其中声明了主数据库连接,代码在此处:
<?php
class dbConnection{
protected $db_conn;
public $db_name='todo';
public $db_user='root';
public $db_pass='';
public $db_host='localhost';
function connect(){
try{ $this->db_conn= new PDO("mysql:host= $this->db_host;dbname=$this->db_name",$this->db_user,$this->db_pass);
return $this->db_conn;
} catch(PDOException $e){
return $e->getMessage();
}
}
}
?>
有错误,error-
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\Todo\Classes\class.ManageUsers.php on line 15
您需要访问您的 $this->db_conn
。试试这些模组。我已经在自己的数据库上对其进行了测试,并且可以正常工作。如果您仍然有问题,那么您可能需要检查您是否使用了正确的连接凭据,因为唯一不起作用的方法是连接失败并且 returns 错误而不是 class ($this
):
class dbConnection
{
// Create public connection
public $db_conn;
public $db_name = 'todo';
public $db_use = 'root';
public $db_pass = '';
public $db_hos = 'localhost';
public function connect()
{
try {
// Try concatenating your db credentials
$this->db_conn = new PDO('mysql:host='.$this->db_host.';dbname='.$this->db_conn,$this->db_user,$this->db_pass);
// return $this only
return $this;
}
catch(PDOException $e) {
// Try exiting and printing the error.
print_r($e->errorInfo());
exit;
}
}
}
class ManageUsers
{
public $link;
public function __construct(){
$db_connection = new dbConnection();
// Assign method chained connection
$this->link = $db_connection->connect()->db_conn;
}
function registerUsers($username,$password){
// include_once('classdatabase.php');
$query = $this->link->prepare("insert into users (username, password) VALUES (?,?)");// the error is just noticed this line !
$values = array($username,$password);
$query->execute($values);
$count = $query->rowCount();
return $count;
}
}
$users = new ManageUsers();
echo $users->registerUsers('emi','emi');