public function mysql($urlInfo) { $d = new Demo(); $d->id = $urlInfo['params'][1]; $d->prop = intval($urlInfo['params'][2]); //新增举例 echo AiMySQL::insert($d) ? "插入成功<br>" : "没有插入<br>"; //修改举例 $d->prop = rand(0, 99999); echo AiMySQL::update($d) ? "修改成功<br>" : "没有修改<br>"; //删除举例 echo AiMySQL::delete($d) ? "删除成功<br>" : "没有删除<br>"; //实体查询举例 $c[] = new AiMySQLCondition('id', '=', "123yfds"); $c[] = new AiMySQLCondition('prop', '=', 60919); //select * from demo where id = "123yfds" and prop = 60919 order by id desc limit 2 , 5 $rs = AiMySQL::queryEntity('Demo', $c, AiMySQLCombination::COMB_AND, 'id', AiMySQLOrderBy::DESC, 5, 2); if (false !== $rs) { foreach ($rs as $demo) { var_dump($demo); echo "<br>"; } } //任意查询举例 $sql = 'select distinct id "主键", count(*) "个数" from fm_demo group by id desc '; $rs = AiMySQL::queryCustom($sql); foreach ($rs as $r) { echo $r['主键'] . ' => ' . $r['个数'] . '<br>'; } }
private static function test() { if (false !== @($sql = AiSQL::getSqlExpr('getQuery'))) { $rs = AiMySQL::queryCustom($sql); } else { echo "获取sql语句失败"; } $list = AiMySQL::queryCustomByParams(AiSQL::getSqlExpr('getBookSell'), array('leftuser' => $user->id, 'rightuser' => $user->id)); var_dump($list); }
/** * AiMySQL::queryCustom()和AiMySQL::queryCustomByParams()的改良方法 * @param string $preSql SQL预处理语句 * @param array $params 参数数组,如array('id'=>$id, 'name'=>$name) * @param int $num 所需结果集个数,传入0或不传值,则默认为全部结果集 * @param int $start 结果集游标,传入0或不传值,则默认为从0开始 * @param int $fetchtype PDO结果集的遍历方式,默认为PDO::FETCH_OBJ * @return 对象数组,其结构视SQL语句而定 * @tutorial * $list = AiMySQL::queryCustomByParams( <br> * AiSQL::getSqlExpr('getBookSell'), //预处理的SQL <br> * array('leftuser'=>$user->id, 'rightuser'=>$user->id) //参数对 <br> * ); <br> * var_dump($list); <br> */ static function queryCustom($preSql, array $params = array(), $num = 0, $start = 0, $fetchtype = PDO::FETCH_OBJ) { $List = array(); $conn = AiMySQL::connect(); if (0 > $num) { $num = 0; } if (0 > $start) { $start = 0; } $flag = false; if ($num) { $preSql .= " limit {$start},{$num}"; } else { $flag = true; } $stmt = $conn->prepare($preSql); $stmt->execute($params); $i = 0; while (@($result = $stmt->fetch($fetchtype))) { if ($flag) { if ($i >= $start) { $List[] = $result; } } else { $List[] = $result; } $i++; } return $List; }