PageRenderTime 44ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/sample_query.php

#
PHP | 155 lines | 129 code | 24 blank | 2 comment | 7 complexity | 60d8adf632be168a1d1f625226c3d5a8 MD5 | raw file
  1. <?php
  2. if (!defined('BASEPATH'))
  3. exit('No direct script access allowed');
  4. class User {
  5. var $FirstName;
  6. var $LastName;
  7. }
  8. class Items {
  9. var $UserID;
  10. var $ItemName;
  11. var $ItemDesc;
  12. }
  13. class Sample extends CI_Controller {
  14. function __construct() {
  15. parent::__construct();
  16. $this->output->enable_profiler(TRUE);
  17. }
  18. public function index() {
  19. $this->truncate();
  20. $this->insert_array();
  21. $this->insert_object();
  22. $this->insert_batch_array();
  23. $this->update_object();
  24. $this->select_user_object();
  25. $this->select_user_array();
  26. $this->select_user_row();
  27. $this->select_user_row_array();
  28. $this->select_helper_test();
  29. $this->metainfo();
  30. }
  31. public function insert_array() {
  32. for ($i = 0; $i < 25; $i++) {
  33. $data = array(
  34. 'FirstName' => uniqid('試験' . rand()),
  35. 'LastName' => uniqid('試験' . rand()),
  36. );
  37. $this->db->insert('[user]', $data);
  38. $uid = $this->db->insert_id();
  39. $data = array(
  40. 'UserID' => $uid,
  41. 'ItemName' => uniqid('商品' . rand()),
  42. 'ItemDesc' => uniqid('商品の解説' . rand()),
  43. );
  44. $this->db->insert('[items]', $data);
  45. }
  46. }
  47. public function insert_batch_array() {
  48. for ($i = 0; $i < 25; $i++) {
  49. $data = array(
  50. 'FirstName' => '試験しめい' . $i,
  51. 'LastName' => '試験なまえ' . $i,
  52. );
  53. $datas[] = $data;
  54. }
  55. $this->db->insert_batch('[user]', $datas);
  56. }
  57. public function select_user_object() {
  58. $query = $this->db->get('[user]');
  59. foreach ($query->result() as $row) {
  60. echo $row->FirstName;
  61. echo $row->LastName;
  62. }
  63. }
  64. public function select_user_array() {
  65. $query = $this->db->get('[user]');
  66. foreach ($query->result_array() as $row) {
  67. echo $row['FirstName'];
  68. echo $row['LastName'];
  69. }
  70. }
  71. public function select_user_row() {
  72. $query = $this->db->get('[user]');
  73. if ($query->num_rows(15) > 0) {
  74. $row = $query->row();
  75. echo $row->FirstName;
  76. echo $row->LastName;
  77. }
  78. }
  79. public function select_user_row_array() {
  80. $query = $this->db->get('[user]');
  81. if ($query->num_rows() > 0) {
  82. $row = $query->row_array(5);
  83. echo $row['FirstName'];
  84. echo $row['LastName'];
  85. }
  86. }
  87. public function select_helper_test() {
  88. $query = $this->db->get('[user]');
  89. echo $query->num_fields();
  90. }
  91. public function insert_object() {
  92. for ($i = 0; $i < 25; $i++) {
  93. $user = new User;
  94. $user->FirstName = uniqid('試験' . rand());
  95. $user->LastName = uniqid('試験' . rand());
  96. $this->db->insert('[user]', $user);
  97. $uid = $this->db->insert_id();
  98. $items = new Items();
  99. $items->UserID = $uid;
  100. $items->ItemName = uniqid('商品' . rand());
  101. $items->ItemDesc = uniqid('商品の解説' . rand());
  102. $this->db->insert('[items]', $items);
  103. }
  104. }
  105. public function update_object() {
  106. for ($i = 0; $i < 25; $i++) {
  107. $user = new User;
  108. $user->FirstName = uniqid('更新' . rand());
  109. $user->LastName = uniqid('更新' . rand());
  110. $this->db->where('ID', $i);
  111. $this->db->update('[user]', $user);
  112. }
  113. }
  114. public function metainfo() {
  115. var_dump($this->db->list_tables());
  116. echo $this->db->table_exists('[user]');
  117. var_dump($this->db->list_fields('[user]'));
  118. $query = $this->db->query('SELECT * FROM [user]');
  119. var_dump($query->list_fields());
  120. var_dump($this->db->field_exists('FirstName', 'user'));
  121. var_dump($this->db->field_data('user'));
  122. $query = $this->db->query('SELECT * FROM [user]');
  123. var_dump($query->field_data());
  124. }
  125. public function truncate() {
  126. $this->db->truncate('[user]');
  127. $this->db->truncate('[items]');
  128. }
  129. }
  130. /* End of file sample.php */
  131. /* Location: ./application/controllers/sample.php */