Beispiel #1
0
 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>';
     }
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 /**
  * 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;
 }