1
7
也许您可以尝试扩展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; } |
2
4
因为PDO需要知道您想要取哪个对象,所以您需要手动指定它。 但是,如果您只想使用对象来检索数据,而不是数组,并且不关心它是否是动物对象,那么当您在连接字符串后面设置属性(可以在包装的构造函数中完成)时,默认情况下可以使用匿名对象。
然后所有查询都将返回对象。虽然这并不完全是你想要的。 您还可以将数据注入您的动物类:
如果查看查询函数,可以通过传递额外参数来更改某些选项: http://www.php.net/manual/en/pdo.query.php 我还没有测试过,但看起来它能让你接近你想要的 |
mister martin · 按组限制而不忽略重复项? 6 年前 |
Howard Feng · pdo与oracle的错误 6 年前 |
Aishwaryas · 使用php从数据库动态创建元标记 6 年前 |
gator · 将SQL结果格式化为数组;通过密钥访问?[副本] 6 年前 |