Example #1
0
 /**
  * Selects DBObjects by some field value.
  *
  * @param string $fieldName Name of the field.
  * @param mixed $fieldValue Field value.
  * @param bool $debug Debug mode flag.
  *
  * @return array<DBObject>
  */
 public function selectDBObjectsByField($fieldName, $fieldValue, $debug = false)
 {
     $query = "SELECT * FROM " . $this->dbObject->getTableName();
     $query .= " WHERE " . $fieldName . " = ?";
     if ($this->conditions != "") {
         $query .= " AND " . $this->conditions;
     }
     $query .= $this->getQueryOrderSQL();
     $query .= $this->getQueryLimitSQL();
     $fieldType = DBField::getType($fieldValue);
     if (!$debug) {
         $stmt = DBCore::doSelectQuery($query, $fieldType, [$fieldValue]);
         if ($stmt != false) {
             $dbObjects = DBCore::selectDBObjectsFromStatement($stmt, get_class($this->dbObject));
             $stmt->close();
             return $dbObjects;
         }
         return [];
     }
     DBQuery::showQueryDebugInfo($query, $fieldType, [$fieldValue]);
     return [];
 }
Example #2
0
 /**
  * Selects DBObjects by some field value.
  *
  * @param string $fieldName Name of the field.
  * @param mixed $fieldValue Field value.
  * @param boolean $debug Debug mode flag.
  *
  * @return array<DBObject>
  */
 public function selectDBObjectsByField($fieldName, $fieldValue, $debug = false)
 {
     $query = "SELECT * FROM " . $this->dbObject->getTableName();
     $query .= " WHERE " . $fieldName . " = ?";
     if ($this->conditions != "") {
         $query .= " AND " . $this->conditions;
     }
     if ($this->order != "") {
         $query .= " ORDER BY " . $this->order;
     } else {
         $query .= " ORDER BY " . $this->dbObject->getIdFieldName() . " DESC";
     }
     if ($this->count !== "all") {
         if ($this->offset > 0) {
             $query .= " LIMIT " . $this->offset . "," . $this->count;
         } else {
             $query .= " LIMIT " . $this->count;
         }
     }
     $fieldType = DBField::getType($fieldValue);
     if (!$debug) {
         $stmt = DBCore::doSelectQuery($query, $fieldType, array($fieldValue));
         if ($stmt != false) {
             $dbObjects = DBCore::selectDBObjectsFromStatement($stmt, get_class($this->dbObject));
             $stmt->close();
             return $dbObjects;
         }
     } else {
         DBQuery::showQueryDebugInfo($query, $fieldType, array($fieldValue));
     }
     return array();
 }