コード例 #1
0
ファイル: CustomWhereBuilder.php プロジェクト: jimonade/pdope
 /**
  * Build a proper WHERE and return it
  *
  * @example
  * <code>
  * $array = ($verb, $field, $operator, $value, $type);
  * $this->build_where($array);
  * </code>
  *
  * @return  VOID
  *
  * @since   2016-09-28
  * @author  Jim Harney <*****@*****.**>
  * @author  Wesley Dekkers <*****@*****.**>
  **/
 public function build_where($rule, $verb = true)
 {
     $field = \PDope\Utilities::escape_mysql_identifier($rule->field);
     $operator = $rule->operator;
     $token = $rule->token;
     if (is_object($rule)) {
         $field = \PDope\Utilities::escape_mysql_identifier($rule->field);
         $operator = $rule->operator;
         $token = $rule->token;
         if ($verb) {
             $sql .= " {$rule->verb} ";
         }
         if (is_array($token) && $operator == 'BETWEEN') {
             if (\PDope\Utilities::is_special_type($rule->type)) {
                 throw new \Exception("PDopeCustomWhereBuilder get_where(), array, does not support special type [{$rule->type}]");
             }
             $token_list = implode(", ", $token);
             $sql .= " {$field} {$operator} {$token[0]} AND {$token[1]}";
         } elseif (is_array($token)) {
             if (\PDope\Utilities::is_special_type($rule->type)) {
                 throw new \Exception("PDopeCustomWhereBuilder get_where(), array, does not support special type [{$rule->type}]");
             }
             $token_list = implode(", ", $token);
             $sql .= "({$field} {$operator} ({$token_list}))";
         } else {
             $token = \PDope\Utilities::translate_special_token($token, $rule->type);
             $sql .= "({$field} {$operator} {$token})";
         }
     }
     return $sql;
 }
コード例 #2
0
ファイル: Statement.php プロジェクト: jimonade/pdope
 /**
  * builds the "INSERT" clause
  *
  * @example
  * <code>
  * $this->build_insert_values_sql();
  * </code>
  *
  * @return  VOID
  *
  * @since   2016-5-21
  * @author  Jim Harney <*****@*****.**>
  **/
 private function build_insert_values_sql()
 {
     $fields_sql = "";
     $values_sql = "";
     for ($i = 0; $i < count($this->parameters); $i++) {
         $parameter = $this->parameters[$i];
         if ($i == 0) {
             $fields_sql .= "\t  ";
             $values_sql .= "\t  ";
         } else {
             $fields_sql .= "\t, ";
             $values_sql .= "\t, ";
         }
         $fields_sql .= \PDope\Utilities::escape_mysql_identifier($parameter->name) . " \n";
         $values_sql .= ":{$parameter->name} \n";
     }
     $sql = "INSERT INTO {$this->table_name} \n";
     $sql .= "( \n";
     $sql .= $fields_sql;
     $sql .= ") \n";
     $sql .= "VALUES \n";
     $sql .= "( \n";
     $sql .= $values_sql;
     $sql .= ") \n";
     $this->sql .= $sql;
     // $this->log_debug("build_insert_values_sql() built \n$sql");
 }