Please help Me .it is php code


class Db{	
	private $host = "localhost";
	private $user ="root";
	private $pwd ="";
	private $dbName="s_table";

	protected function connect(){
		$dsn = 'mysql:host='.$this->host .';dbname='.$this->dbName;
		$pdo =new PDO($dsn,$this->user,$this->pwd);
		$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
		return $pdo;
	}
}

include 'DB.php';


class User extends Db{

	public function all_user(){

		$sql="SELECT * FROM s_table";
		$stmt=$this->connect()->query($sql);
		while ($row = $stmt->fetch()) {
			echo $row['name'];
		}
		
		
	}
}
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
include 'User.php';
$all=new User();
$all->all_user();
</body>
</html>

I think it might help if we had the ability to see User.php. I’m a little rusty on my PHP but I don’t believe this code snippet provides enough for us to work on.

It would also be great if you can explain in detail what kind of help you are seeking.

Is this line suppose to have a ; or is it suppose to have a `$’. I am not very good very PHP, but have experience in other programming languages.

I am talking about the variable dbname?

		$dsn = 'mysql:host='.$this->host .';dbname='.$this->dbName;

When you’re using the $this->dbName; You’re referencing the current objects dbName.

In this case, I believe the syntax is correct. Since you are in the Db class, $this has the parent object of Db if I’m not mistaken.
You can read more about the $this syntax at this wonderful post.

1 Like