php - 将查询结果放入对象

标签 php sql postgresql

我正在使用 php 和 postgresql。

我需要一个函数:

如果尚未连接,则连接到数据库 安全地运行查询 将结果放入对象

例如: 我做了一个“从测试中选择 *”的查询。我返回 2 行...“测试”中有三列(id、fname、lname)。

我有一个名为 $ep 的对象。我希望能够将列名结果放入对象中,并将值放入对象中。所以我可以做一个 $ep->fname 的 var_dump,它会显示一个包含两个结果的数组。

我不想将列名硬编码到我的函数中。我希望它是动态的。因此,无论我请求什么表或列,它都会为我将所有内容放入对象中。

最佳答案

Object Relational Mapper (ORM)可以为您提供许多您描述的功能(以及更多)。看看:

Propel 代码如下所示:

$book = BookQuery::create()->findPK(123); // retrieve a record from a database
$book->setName('Don\'t be Hax0red!'); // modify. Don't worry about escaping
$book->save(); // persist the modification to the database

$books = BookQuery::create()  // retrieve all books...
  ->filterByPublishYear(2009) // ... published in 2009
  ->orderByTitle()            // ... ordered by title
  ->joinWith('Book.Author')   // ... with their author
  ->find();

foreach($books as $book) {
  echo  $book->getAuthor()->getFullName();
}

关于php - 将查询结果放入对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3775307/

相关文章:

php - 如何清理一个3000万条记录的表

php - 我怎样才能在数组中计数

postgresql - 获取PostgreSQL中的每个用户角色

php - get 方法不适用于 php rest web 服务

PHPUnit RabbitMQ : write test for create connection function

MySQL 触发器 - 修剪并创建 2 条记录

sql - Oracle 中看似关键的保留 View 的更新引发 ORA-01779

mysql - 检查 MySQL 表是否存在而不使用 "select from"语法?

postgresql - pgsql 如何与不在 pgpass.conf 中的用户名连接,而无需指定密码?

sql - 将任意多行转换为 PostgreSQL 中的列