DBTest.php 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/1/31
  6. * Time: 上午11:28
  7. */
  8. define('BASE_ROOT_PATH',str_replace('/test','',dirname(__FILE__)));
  9. define('MOBILE_SERVER',true);
  10. require_once(BASE_ROOT_PATH . '/fooder.php');
  11. class DBTest extends PHPUnit_Framework_TestCase
  12. {
  13. public static function setUpBeforeClass()
  14. {
  15. Base::run_util();
  16. }
  17. public function testQuery()
  18. {
  19. // $sql = "select * from lrlz_user_bonus where type_id=\'{$type_id}\' and \'session_id=\'{$sess_id}\' order by bonus_status asc,bonus_id asc limit 1";
  20. $mobile = '18911779278';
  21. $sql = "select * from lrlz_member where member_mobile='{$mobile}'";
  22. $items = Db::getAll($sql,array('lock' => true));
  23. //$items = Db::getAll('select * from lrlz_member');
  24. }
  25. public static function tearDownAfterClass()
  26. {
  27. }
  28. public function testModel()
  29. {
  30. $result = Model()->table('config')->select();
  31. $y = Model('member');
  32. $start = microtime(true);
  33. for ($i = 0; $i < 100; ++$i) {
  34. $member1 = Model('member');
  35. }
  36. $t = $member1;
  37. $period = microtime(true) - $start;
  38. $x = sprintf("%.6f",$period);
  39. echo $period;
  40. }
  41. public function testTransaction()
  42. {
  43. $mod_member = Model('member');
  44. Db::start_transaction(MYSQLI_TRANS_START_READ_WRITE);
  45. $mod_member->where(array('member_id' => 36490))->update(array('member_name' => '江南舟子F'));
  46. $affect_rows_a = $mod_member->affected_rows();
  47. //$mod_member->rollback();
  48. $mod_member->commit();
  49. $affect_rows_b = $mod_member->affected_rows();
  50. }
  51. public function testMaster()
  52. {
  53. $mod_member = Model('member');
  54. //$items = $mod_member->where(array('member_mobile' => '18911779278'))->limit(false)->select(array('lock' => true));
  55. $item = $mod_member->where(array('member_mobile' => '18911779278'))->find(array('lock' => true));
  56. }
  57. public function testConnection()
  58. {
  59. $mysql = @new mysqli('192.168.1.205', 'root', '55668899', 'pandashop', '3306');
  60. }
  61. public function testConnectionhost()
  62. {
  63. $mysql = @new mysqli('192.168.1.103', 'root', '55668899', 'pandashop', '3306');
  64. }
  65. public function testTableInfo()
  66. {
  67. $mod_member = Model('member');
  68. $iterm = $mod_member->tableInfo('memble');
  69. $mod_member = Model();
  70. $iterm = $mod_member->tableInfo('memble');
  71. }
  72. public function testUpdate()
  73. {
  74. $mod_member = Model('member');
  75. $data = array(
  76. 'member_mobile' => '15512468630'
  77. );
  78. $mod_member->where(array('member_id'=>1))->update($data);
  79. $mod_member->execute('UPDATE `lrlz_member` SET member_mobile=\'15512468638\' WHERE ( member_id = \'1\' )');
  80. }
  81. public function testInsert()
  82. {
  83. $mod_member = Model('member');
  84. $data = array(
  85. 'member_mobile' => '18330118841'
  86. );
  87. $ret = $mod_member->insert($data);
  88. }
  89. public function testInsertAll()
  90. {
  91. $mod_member = Model('member');
  92. $data = array(
  93. array(
  94. 'member_mobile'=>'18330118840'
  95. ),
  96. array(
  97. 'member_mobile'=>'18330118839'
  98. )
  99. );
  100. $mod_member->insertAll($data);
  101. }
  102. public function testDelete()
  103. {
  104. $mod_member = Model('member');
  105. $mod_member->where(array('member_mobile'=>'18330118841'))->delete();
  106. }
  107. public function testSelect()
  108. {
  109. $mod_member = Model('member');
  110. $iterm = $mod_member->where(array('member_mobile' => '15512468630'))->select();
  111. }
  112. public function testFind()
  113. {
  114. $mod_member = Model('member');
  115. $iterm = $mod_member->where(array('member_mobile' => '15512468630'))->find();
  116. }
  117. public function testLimit()
  118. {
  119. $mod_member = Model('member');
  120. $iterm = $mod_member->limit(4)->select();
  121. }
  122. public function testTable()
  123. {
  124. $mod_member = Model();
  125. $iterm = $mod_member->table('member')->limit(4)->where(array('member_mobile'=>'15512468630'))->select();
  126. }
  127. public function testJoin()
  128. {
  129. $mod_member = Model();
  130. $on = 'member.member_id=member_common.member_id';
  131. $iterm = $mod_member->table('member,member_common')->join('inner')->on($on)->limit(2)->select();
  132. }
  133. public function testOrder()
  134. {
  135. $mod_member = Model();
  136. $iterm = $mod_member->field('member_id,member_sex')->table('member')->order('member_id desc')->limit(50)->select();
  137. $itermb = $mod_member->field('member_id,member_sex')->table('member')->order('member_id desc,member_sex asc')->limit(50)->select();
  138. }
  139. public function testCount()
  140. {
  141. $mod_member = Model('member');
  142. $num = $mod_member->count();
  143. $num_big = $mod_member->where('member_id>15')->count();
  144. }
  145. public function testPage()
  146. {
  147. $mod_member = Model('member');
  148. //$reta = $mod_member->page(10)->order('member_id desc')->select();
  149. $retb = $mod_member->page(10, 100)->order('member_id desc')->select();
  150. // $retc = $mod_member->page(10)->where('member_id=1')->select();
  151. // $retd = $mod_member->where('member_id=1')->page(10)->select();
  152. }
  153. public function testGroup()
  154. {
  155. $mod_member = Model('member');
  156. $result = $mod_member->field('member_id,member_login_num,count(*)as count')->group('member_login_num')->select();
  157. }
  158. public function testHaving()
  159. {
  160. //$mod_goods = Model('goods');
  161. //$result = $mod_goods->field('store_id,count(*) as nc_count')->group('store_id')->having('nc_count>500')->select();
  162. $mod_member = Model('member');
  163. $result = $mod_member->field('member_id,member_login_num,count(*)as count')->group('member_login_num')->select();
  164. $result = $mod_member->field('member_id,member_login_num,count(*)as count')->group('member_login_num')->having('count>500')->select();
  165. }
  166. public function testQuerya()
  167. {
  168. $mod_member = Model('member');
  169. Model()->query('SELECT * FROM `shopnc_member` LIMIT 10');
  170. Model()->execute('UPDATE `shopnc_member` SET member_mobile=18330118841 WHERE member_id=1');
  171. $mod_member = Model();
  172. $mod_member->query('SELECT * FROM `shopnc_member` LIMIT 10');
  173. }
  174. public function testSum()
  175. {
  176. $mod_goods = Model();
  177. $mod_goods->table('goods')->sum('price');
  178. }
  179. public function testSetInc()
  180. {
  181. $mod_member = Model('member');
  182. $ret = $mod_member->where('member_id=2')->setInc('member_id', 1000);
  183. $retb = $mod_member->where(array('member_id=2'))->setInc('member_id', 1000);
  184. }
  185. public function testGetby_member_name()
  186. {
  187. $mod_member = Model('member');
  188. $ret = $mod_member->getby_member_name('江海苗');
  189. }
  190. public function testAttr()
  191. {
  192. $model = Model('goods');
  193. $ret = $model->where(array('goods_id' => 100))->attr('LOW_PRIORITY');
  194. $ret = $model->update(array('goods_click' =>array('exp','goods_click+1')));
  195. }
  196. public function testAutoCommit()
  197. {
  198. $model = Model('member');
  199. while (true)
  200. {
  201. $model->beginTransaction();
  202. $ret = $model->where(array('member_id' => 10000000))->update(array('member_mobilex' => '18911779278'));
  203. $affect_rows = $model->affected_rows();
  204. $model->beginTransaction();
  205. $ret = $model->where(array('member_id' => 36490))->update(array('member_mobile' => '18911779279'));
  206. $affect_rows = $model->affected_rows();
  207. $model->commit();
  208. }
  209. }
  210. }