当前位置: 首页>>代码示例>>PHP>>正文


PHP SqlQuery::validateColumn方法代码示例

本文整理汇总了PHP中SqlQuery::validateColumn方法的典型用法代码示例。如果您正苦于以下问题:PHP SqlQuery::validateColumn方法的具体用法?PHP SqlQuery::validateColumn怎么用?PHP SqlQuery::validateColumn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SqlQuery的用法示例。


在下文中一共展示了SqlQuery::validateColumn方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: execute

 public function execute()
 {
     if (isset($this->orderby)) {
         $this->orderbySQL = sprintf('ORDER BY %s', $this->orderby);
     }
     if (isset($this->paging)) {
         $this->limitSQL = sprintf('LIMIT %d,%d', $this->paging->offset, $this->paging->limit);
     }
     if (isset($this->where)) {
         $this->whereSQL = sprintf('WHERE %s', $this->where);
     }
     if (isset($this->data)) {
         $columns = [];
         $bindings = [];
         foreach ($this->data as $key => $value) {
             $columns[] = SqlQuery::validateColumn($key) . ' = ?';
             $bindings[] =& $value;
         }
         // prepend bindings because SET comes before WHERE
         $this->bindings = array_merge($bindings, $this->bindings);
         $this->setSQL = sprintf('SET %s', implode(',', $columns));
     }
     switch ($this->query_type) {
         case 'update':
             $sql = sprintf('UPDATE %s %s %s', $this->table_name, $this->setSQL, $this->whereSQL);
             break;
         case 'select':
         default:
             $sql = sprintf('SELECT * FROM %s %s %s %s', $this->table_name, $this->whereSQL, $this->orderbySQL, $this->limitSQL);
     }
     if (isset($this->paging) && !isset($this->paging->total_records)) {
         $this->paging->total_records = SqlQuery::getRecordCount($this->db, $this->table_name, $this->whereSQL, $this->bindings, $this->types);
     }
     //dbg($sql);
     //var_dump($this->bindings);
     return SqlQuery::executeSQL($this->db, $sql, $this->bindings, $this->types);
 }
开发者ID:lotcz,项目名称:zshop,代码行数:37,代码来源:query.php

示例2: save

 public function save()
 {
     $result = false;
     $id = $this->ival($this->id_name);
     if (isset($id) && $id > 0) {
         $columns = [];
         $bindings = [];
         $types = '';
         foreach ($this->data as $key => $value) {
             if ($key != $this->id_name) {
                 $columns[] = SqlQuery::validateColumn($key) . ' = ?';
                 $bindings[] =& $this->data[$key];
                 $types .= SqlQuery::getTypeChar($value);
             }
         }
         $bindings[] =& $this->data[$this->id_name];
         $types .= 'i';
         array_unshift($bindings, $types);
         $sql = sprintf('UPDATE %s SET %s WHERE %s = ?', $this->table_name, implode(',', $columns), $this->id_name);
         if ($st = $this->db->prepare($sql)) {
             call_user_func_array(array($st, 'bind_param'), $bindings);
             if ($st->execute()) {
                 $result = true;
             } else {
                 dbErr($this->table_name, 'execute', $sql, $this->db->error);
             }
             $st->close();
         } else {
             dbErr($this->table_name, 'prepare', $sql, $this->db->error);
         }
     } else {
         $columns = [];
         $values = [];
         $bindings = [];
         $types = '';
         foreach ($this->data as $key => $value) {
             if ($key != $this->id_name) {
                 $columns[] = SqlQuery::validateColumn($key);
                 $values[] = '?';
                 $bindings[] =& $this->data[$key];
                 $types .= SqlQuery::getTypeChar($value);
             }
         }
         array_unshift($bindings, $types);
         $sql = sprintf('INSERT INTO %s (%s) VALUES (%s)', $this->table_name, implode(',', $columns), implode(',', $values));
         if ($st = $this->db->prepare($sql)) {
             //echo $sql;
             call_user_func_array(array($st, 'bind_param'), $bindings);
             if ($st->execute()) {
                 $this->is_loaded = true;
                 $result = true;
                 $this->data[$this->id_name] = $this->db->insert_id;
             } else {
                 dbErr($this->table_name, 'execute', $sql, $this->db->error);
             }
             $st->close();
         } else {
             dbErr($this->table_name, 'prepare', $sql, $this->db->error);
         }
     }
     return $result;
 }
开发者ID:lotcz,项目名称:zshop,代码行数:62,代码来源:base.m.php


注:本文中的SqlQuery::validateColumn方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。