第一次尝试 PDO。
$dbh = new PDO("mysql:host=$hostname;dbname=animals", $username, $password);
$stmt = $dbh->query("SELECT * FROM animals");
$stmt->setFetchMode(PDO::FETCH_INTO, new animals);
foreach($stmt as $animals)
{
echo $animals->name;
}
如果我跳过 setFetchMode()
方法,那么我需要调用我不想要的 $animals["name"]
。
但我不想为每个查询调用 setFetchMode()
。
有没有办法设置默认的 FetchMode ?或者一些其他方法使 query()
返回具有一个全局设置的对象。
最佳答案
也许您可以尝试扩展 PDO 类以自动为您调用该函数...简而言之:
class myPDO extends PDO { function animalQuery($sql) { $result = parent::query($sql); $result->setFetchMode(PDO::FETCH_INTO, new animals); return $result; } // // useful if you have different classes // function vegetableQuery($sql) // { // $result = parent::query($sql); // $result->setFetchMode(PDO::FETCH_INTO, new vegetables); // return $result; // } } $dbh = new myPDO("mysql:host=$hostname;dbname=animals", $username, $password); $stmt = $dbh->animalQuery("SELECT * FROM animals"); foreach($stmt as $animals) { echo $animals->name; }
关于php - 我怎样才能简单地返回 PDO 中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/747847/