我需要知道我所编写的PDO扩展在语法和语义上是否有效。我一直在使用var_dump()函数来查看我的连接变量,虽然变量被传递到构造函数中(具有正确的值),但我无法从数据库中获取任何内容。
我在PHP手册上研究了PDO类,并从中发现我所使用的类几乎与维基页面示例部分中给出的扩展类完全相同。
下面是我的代码:
我在PHP手册上研究了PDO类,并从中发现我所使用的类几乎与维基页面示例部分中给出的扩展类完全相同。
下面是我的代码:
class DBConnector extends PDO
{
private $host;
private $username;
private $password;
private $db;
private $dns;
public function __construct($host, $username, $password, $db)
{
$this->host = $host;
$this->username = $username;
$this->password = $password;
$this->db = $db;
$this->dns = "mysql:dbname=".$this->db.";host=".$host;
$connection = parent::__construct($this->dns, $this->username, $this->password);
}
}
这里有一个测试查询,返回一个空数组。数据库里有数据,所以显然有些地方不正确。
function testQuery()
{
global $connection;
$query = "
SELECT * FROM users
";
$stmt = $connection->prepare($query);
$result = $stmt->fetchAll();
}
我做错了什么吗?