Построение динамических запросов PDO

Я был старой школой, используя запрос mysql _и начинаю сейчас, используя PDO. Это здорово!

Но в моих старых сценариях я создал построитель динамических запросов, и мне трудно перенести его с помощью PDO.

Если кто-нибудь может дать мне какое-то направление, это было бы здорово!

Вот теория этого.

  1. У меня есть массив
  2. поля и значения БД (при вставке ).
  3. Создайте строку запроса, чтобы произвести действительную транзакцию 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));

Я знаю, что это сложная задача, и я надеюсь, что это имеет смысл в том, что я пытаюсь сделать, но любая помощь в попытке построить эти запросы будет принята с благодарностью.

7
задан Justin 7 August 2012 в 01:18
поделиться