/** * 普通SQL查询 * @param string $sql 要执行查询的SQL语句参数请用"?"代替 * @param array $pam 数字下标的数组,数组项依次替换SQL中的"?"参数 * @return array<model> 模型集合 */ public function query_model($sql, $pam = null, $callback = null) { $res = array(); if (is_string($sql)) { $sql = str_replace('?', '@yYUc_SqL@', $sql); } $query = $this->base_query($sql, $pam); if (self::$dbdes == null) { self::$dbdes = new DBDes(); self::$dbdes->operate = 'R'; } if (is_callable($callback)) { while ($tn = mysql_fetch_array($query, MYSQL_ASSOC)) { call_user_func_array($callback, array((object) $tn)); } } else { while ($tn = mysql_fetch_array($query, MYSQL_ASSOC)) { $res[] = (object) $tn; } return $res; } }
/** * 普通SQL查询 * @param string $sql 要执行查询的SQL语句参数请用"?"代替 * @param array $pam 数字下标的数组,数组项依次替换SQL中的"?"参数 * @return array<model> 模型集合 */ function query_model($sql, $pam = null, $limit1 = 0, $limit2 = 9999, $callback = null) { $res = array(); if (is_string($sql)) { $sql = str_replace('?', '@yYUc_SqL@', $sql); } $query = $this->base_query($sql, $pam); if (self::$dbdes == null) { self::$dbdes = new DBDes(); self::$dbdes->operate = 'R'; } $ks = -1; $zs = $limit1 + $limit2; if (is_callable($callback)) { while ($tn = mssql_fetch_assoc($query)) { $ks++; if ($ks >= $limit1 && $ks < $zs) { call_user_func_array($callback, array((object) $this->changecode($tn))); } elseif ($ks < $limit1) { continue; } else { break; } } } else { while ($tn = mssql_fetch_assoc($query)) { $ks++; if ($ks >= $limit1 && $ks < $zs) { $res[] = (object) $this->changecode($tn); } elseif ($ks < $limit1) { continue; } else { break; } } return $res; } }
/** * * 根据model初始话操作类 * * @param Model $m * @param string $opt */ public static function init_by_model($m, $opt = null) { if (DB::$dbdes === null) { DB::$dbdes = new DBDes(); } DB::$dbdes->model = $m; DB::$dbdes->real_table = $m->YYUCSYS_real_tablename; DB::$dbdes->table = $m->YYUCSYS_tablename; DB::$dbdes->operate = $opt; }