我一直在使用 mysql_query 并且现在开始使用 PDO。太棒了!
但是在我的旧脚本中,我构建了一个动态查询构建器,并且我很难通过使用 PDO 来移植它。
如果有人能给我一些指导,那就太好了!
这是它的理论。
- 我有一个数组
- 数据库字段和值(插入时)。
- 创建查询字符串以生成有效的 PDO 事务
这是我正在尝试做的一部分。
public $dbFields; // This is an array of the fields plus VALUES
public function select($where, $limit) {
// This is what I **had** before
$query = "SELECT ". implode(", ", $this->dbFields) ." FROM ". $this->table." WHERE ". $where ." ". $limit."";
// Now i need to convert that to PDO
$this->connection->beginTransaction();
# START Query
$select = $this->connection->prepare("SELECT {$this->fieldNames} FROM {$this->table}");
// I need to BIND my params and values, but i'm not sure the best route to take when I have a WHERE clause that includes, "AND" / "OR" operators.
# EXECUTE the query
$select->execute();
$this->connection->commit();
}
这是我以前的
$results = $db->select("userId = 111 OR userId = 222");
但我想我需要做的是使用更像
$results = $db->select(array("userId"=>111, "userId"=>222));
我知道这是一项艰巨的任务,我希望这对我正在尝试做的事情有意义,但是对于尝试构建这些查询的任何帮助将不胜感激。