DBTest.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  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 testTranslog()
  18. {
  19. }
  20. public function testQuery()
  21. {
  22. // $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";
  23. $mobile = '18911779278';
  24. $sql = "select * from lrlz_member where member_mobile='{$mobile}'";
  25. $items = Db::getAll($sql,array('lock' => true));
  26. //$items = Db::getAll('select * from lrlz_member');
  27. }
  28. public static function tearDownAfterClass()
  29. {
  30. }
  31. public function testModel()
  32. {
  33. $result = Model()->table('config')->select();
  34. $y = Model('member');
  35. $start = microtime(true);
  36. for ($i = 0; $i < 100; ++$i) {
  37. $member1 = Model('member');
  38. }
  39. $t = $member1;
  40. $period = microtime(true) - $start;
  41. $x = sprintf("%.6f",$period);
  42. echo $period;
  43. }
  44. public function testTransaction()
  45. {
  46. try
  47. {
  48. $mod_member = Model('member');
  49. $trans = new trans_wapper(null,__METHOD__);
  50. $mod_member->where(array('member_id' => 36490))->update(array('member_name' => '江南舟子F2'));
  51. $affect_rows_a = $mod_member->affected_rows();
  52. $trans->commit();
  53. throw new Exception("xxxx");
  54. }
  55. catch (Exception $ex) {
  56. $trans->rollback();
  57. }
  58. }
  59. public function testMaster()
  60. {
  61. $mod_member = Model('member');
  62. //$items = $mod_member->where(array('member_mobile' => '18911779278'))->limit(false)->select(array('lock' => true));
  63. $item = $mod_member->where(array('member_mobile' => '18911779278'))->find(array('lock' => true));
  64. }
  65. public function testConnection()
  66. {
  67. $mysql = @new mysqli('192.168.1.205', 'root', '55668899', 'pandashop', '3306');
  68. }
  69. public function testConnectionhost()
  70. {
  71. $mysql = @new mysqli('192.168.1.103', 'root', '55668899', 'pandashop', '3306');
  72. }
  73. public function testTableInfo()
  74. {
  75. $mod_member = Model('member');
  76. $iterm = $mod_member->tableInfo('memble');
  77. $mod_member = Model();
  78. $iterm = $mod_member->tableInfo('memble');
  79. }
  80. public function testNull()
  81. {
  82. $x = intval(null);
  83. }
  84. public function testUpdate()
  85. {
  86. $mod_member = Model('member');
  87. $data = array(
  88. 'member_mobile' => '15512468630'
  89. );
  90. $mod_member->where(array('member_id'=>1))->update($data);
  91. $mod_member->execute('UPDATE `lrlz_member` SET member_mobile=\'15512468638\' WHERE ( member_id = \'1\' )');
  92. }
  93. public function testInsert()
  94. {
  95. $mod_member = Model('member');
  96. $data = array(
  97. 'member_mobile' => '18330118841'
  98. );
  99. $ret = $mod_member->insert($data);
  100. }
  101. public function testInsertAll()
  102. {
  103. $mod_member = Model('member');
  104. $data = array(
  105. array(
  106. 'member_mobile'=>'18330118840'
  107. ),
  108. array(
  109. 'member_mobile'=>'18330118839'
  110. )
  111. );
  112. $mod_member->insertAll($data);
  113. }
  114. public function testDelete()
  115. {
  116. $mod_member = Model('member');
  117. $mod_member->where(array('member_mobile'=>'18330118841'))->delete();
  118. }
  119. public function testSelect()
  120. {
  121. $mod_member = Model('member');
  122. $iterm = $mod_member->where(array('member_mobile' => '15512468630'))->select();
  123. }
  124. public function testFind()
  125. {
  126. $mod_member = Model('member');
  127. $iterm = $mod_member->where(array('member_mobile' => '15512468630'))->find();
  128. }
  129. public function testLimit()
  130. {
  131. $mod_member = Model('member');
  132. $iterm = $mod_member->limit(4)->select();
  133. }
  134. public function testTable()
  135. {
  136. $mod_member = Model();
  137. $iterm = $mod_member->table('member')->limit(4)->where(array('member_mobile'=>'15512468630'))->select();
  138. }
  139. public function testJoin()
  140. {
  141. $mod_member = Model();
  142. $on = 'member.member_id=member_common.member_id';
  143. $iterm = $mod_member->table('member,member_common')->join('inner')->on($on)->limit(2)->select();
  144. }
  145. public function testOrder()
  146. {
  147. $mod_member = Model();
  148. $iterm = $mod_member->field('member_id,member_sex')->table('member')->order('member_id desc')->limit(50)->select();
  149. $itermb = $mod_member->field('member_id,member_sex')->table('member')->order('member_id desc,member_sex asc')->limit(50)->select();
  150. }
  151. public function testCount()
  152. {
  153. $mod_member = Model('member');
  154. $num = $mod_member->count();
  155. $num_big = $mod_member->where('member_id>15')->count();
  156. }
  157. public function testPage()
  158. {
  159. $mod_member = Model('member');
  160. //$reta = $mod_member->page(10)->order('member_id desc')->select();
  161. $retb = $mod_member->page(10, 100)->order('member_id desc')->select();
  162. // $retc = $mod_member->page(10)->where('member_id=1')->select();
  163. // $retd = $mod_member->where('member_id=1')->page(10)->select();
  164. }
  165. public function testGroup()
  166. {
  167. $mod_member = Model('member');
  168. $result = $mod_member->field('member_id,member_login_num,count(*)as count')->group('member_login_num')->select();
  169. }
  170. public function testHaving()
  171. {
  172. //$mod_goods = Model('goods');
  173. //$result = $mod_goods->field('store_id,count(*) as nc_count')->group('store_id')->having('nc_count>500')->select();
  174. $mod_member = Model('member');
  175. $result = $mod_member->field('member_id,member_login_num,count(*)as count')->group('member_login_num')->select();
  176. $result = $mod_member->field('member_id,member_login_num,count(*)as count')->group('member_login_num')->having('count>500')->select();
  177. }
  178. public function testQuerya()
  179. {
  180. $mod_member = Model('member');
  181. Model()->query('SELECT * FROM `shopnc_member` LIMIT 10');
  182. Model()->execute('UPDATE `shopnc_member` SET member_mobile=18330118841 WHERE member_id=1');
  183. $mod_member = Model();
  184. $mod_member->query('SELECT * FROM `shopnc_member` LIMIT 10');
  185. }
  186. public function testSum()
  187. {
  188. $mod_goods = Model();
  189. $mod_goods->table('goods')->sum('price');
  190. }
  191. public function testSetInc()
  192. {
  193. $mod_member = Model('member');
  194. $ret = $mod_member->where('member_id=2')->setInc('member_id', 1000);
  195. $retb = $mod_member->where(array('member_id=2'))->setInc('member_id', 1000);
  196. }
  197. public function testGetby_member_name()
  198. {
  199. $mod_member = Model('member');
  200. $ret = $mod_member->getby_member_name('江海苗');
  201. }
  202. public function testAttr()
  203. {
  204. $model = Model('goods');
  205. $ret = $model->where(array('goods_id' => 100))->attr('LOW_PRIORITY');
  206. $ret = $model->update(array('goods_click' =>array('exp','goods_click+1')));
  207. }
  208. public function testAutoCommit()
  209. {
  210. $model = Model('member');
  211. while (true)
  212. {
  213. $model->beginTransaction();
  214. $ret = $model->where(array('member_id' => 10000000))->update(array('member_mobilex' => '18911779278'));
  215. $affect_rows = $model->affected_rows();
  216. $model->beginTransaction();
  217. $ret = $model->where(array('member_id' => 36490))->update(array('member_mobile' => '18911779279'));
  218. $affect_rows = $model->affected_rows();
  219. $model->commit();
  220. }
  221. }
  222. public function testMessage()
  223. {
  224. $mod_message = Model('message');
  225. //INSERT INTO `lrlz_message` (`message_parent_id`,`from_member_id`,`from_member_name`,
  226. //`to_member_id`,`to_member_name`,`message_body`,
  227. //`message_time`,
  228. //`message_update_time`,`message_type`,`message_ismore`,
  229. //`read_member_id`,`del_member_id`)
  230. // VALUES('0','0','',
  231. //'36646','','你的账户于 2017-05-12 09:02:52 账户资金有变化,描述:领取红包,红包单号: 14281494512386767010 make_type=2,可用金额变化 :4.30元,冻结金额变化:0.00元。<a href=\"http://p.lrlz.com/shop/index.php?act=predeposit&op=pd_log_list\" target=\"_blank\">点击查看余额</a>',
  232. //'1494550972',
  233. //'1494550972','1','0',
  234. //'','')
  235. $data = ['message_parent_id' => 0,
  236. 'from_member_id' => 0,
  237. 'from_member_name' => '',
  238. 'to_member_name' => '',
  239. 'msg_content' => '你的账户于 2017-05-12 09:02:52 账户资金有变化,描述:领取红包,红包单号: 14281494512386767010 make_type=2,可用金额变化 :4.30元,冻结金额变化:0.00元。<a href=\"http://p.lrlz.com/shop/index.php?act=predeposit&op=pd_log_list\" target=\"_blank\">点击查看余额</a>',
  240. 'message_time' => time(),
  241. 'message_update_time' => time(),
  242. 'message_type' => 1,
  243. 'message_ismore' => 0,
  244. 'read_member_id' => '',
  245. 'del_member_id' => '',
  246. ];
  247. for ($i = 0; $i < 1000000; $i++) {
  248. $data['member_id'] = mt_rand(10000,100000);
  249. $insert_id = $mod_message->saveMessage($data);
  250. Log::record("id = {$insert_id}",Log::DEBUG);
  251. }
  252. }
  253. }