Advertisement
Guest User

Untitled

a guest
Jun 30th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.90 KB | None | 0 0
  1. $host = '127.0.0.1';
  2. $db = 'test';
  3. $user = 'root';
  4. $pass = '';
  5. $charset = 'utf8';
  6.  
  7. $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  8. $opt = [
  9. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  10. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  11. PDO::ATTR_EMULATE_PREPARES => false,
  12. ];
  13. $pdo = new PDO($dsn, $user, $pass, $opt);
  14.  
  15. $stmt = $pdo->query('SELECT name FROM users');
  16. while ($row = $stmt->fetch())
  17. {
  18. echo $row['name'] . "n";
  19. }
  20.  
  21. $sql = "SELECT * FROM users WHERE email = '$email' AND status='$status'";
  22.  
  23. $sql = 'SELECT * FROM users WHERE email = ? AND status=?';
  24.  
  25. $sql = 'SELECT * FROM users WHERE email = :email AND status=:status';
  26.  
  27. $stmt = $pdo->prepare('SELECT * FROM users WHERE email = ? AND status=?');
  28. $stmt->execute([$email, $status]);
  29. $user = $stmt->fetch();
  30. // o
  31. $stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email AND status=:status');
  32. $stmt->execute(['email' => $email, 'status' => $status]);
  33. $user = $stmt->fetch();
  34.  
  35. $data = [
  36. 1 => 1000,
  37. 5 => 300,
  38. 9 => 200,
  39. ];
  40. $stmt = $pdo->prepare('UPDATE users SET bonus = bonus + ? WHERE id = ?');
  41. foreach ($data as $id => $bonus)
  42. {
  43. $stmt->execute([$bonus, $id]);
  44. }
  45.  
  46. $sql = "UPDATE users SET name = ? WHERE id = ?";
  47. $pdo->prepare($sql)->execute([$name, $id]);
  48.  
  49. $stmt = $pdo->prepare("DELETE FROM goods WHERE category = ?");
  50. $stmt->execute([$cat]);
  51. $deleted = $stmt->rowCount();
  52.  
  53. $stmt = $pdo->query('SELECT name FROM users');
  54. foreach ($stmt as $row)
  55. {
  56. echo $row['name'] . "n";
  57. }
  58.  
  59. $row = $stmt->fetch(PDO::FETCH_ASSOC);
  60.  
  61. $news = $pdo->query('SELECT * FROM news')->fetchAll(PDO::FETCH_CLASS, 'News');
  62.  
  63. create table typetest (string varchar(255), `int` int, `float` float, `null` int);
  64. insert into typetest values('foo',1,1.1,NULL);
  65.  
  66. array(4) {
  67. ["string"] => string(3) "foo"
  68. ["int"] => int(1)
  69. ["float"] => float(1.1)
  70. ["null"] => NULL
  71. }
  72.  
  73. $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, true);
  74.  
  75. // Obteniendo el nombre basado en el id
  76. $stmt = $pdo->prepare("SELECT name FROM table WHERE id=?");
  77. $stmt->execute([$id]);
  78. $name = $stmt->fetchColumn();
  79.  
  80. // Obteniendo el número de filas en la tabla usando el encadenamiento de métodos
  81. $count = $pdo->query("SELECT count(*) FROM table")->fetchColumn();
  82.  
  83. $data = $pdo->query('SELECT name FROM users')->fetchAll();
  84. var_export($data);
  85. /* array (
  86. 0 => array('John'),
  87. 1 => array('Mike'),
  88. 2 => array('Mary'),
  89. 3 => array('Kathy'),
  90. )*/
  91.  
  92. $data = $pdo->query('SELECT name FROM users')->fetchAll(PDO::FETCH_COLUMN);
  93. /* array (
  94. 0 => 'John',
  95. 1 => 'Mike',
  96. 2 => 'Mary',
  97. )*/
  98.  
  99. $data = $pdo->query('SELECT id, name FROM users')->fetchAll(PDO::FETCH_KEY_PAIR);
  100. /* array (
  101. 104 => 'John',
  102. 110 => 'Mike',
  103. 120 => 'Mary',
  104. )*/
  105.  
  106. $data = $pdo->query('SELECT * FROM users')->fetchAll(PDO::FETCH_UNIQUE);
  107. /* array (
  108. 104 => array (
  109. 'name' => 'John',
  110. 'car' => 'Toyota',
  111. ),
  112. 110 => array (
  113. 'name' => 'Mike',
  114. 'car' => 'Ford',
  115. ),
  116. 120 => array (
  117. 'name' => 'Mary',
  118. 'car' => 'Mazda',
  119. ),
  120. )*/
  121.  
  122. $data = $pdo->query('SELECT sex, name, car FROM users')->fetchAll(PDO::FETCH_GROUP);
  123. /* array (
  124. 'male' => array (
  125. 0 => array (
  126. 'name' => 'John',
  127. 'car' => 'Toyota',
  128. ),
  129. 1 => array (
  130. 'name' => 'Mike',
  131. 'car' => 'Ford',
  132. ),
  133. ),
  134. 'female' => array (
  135. 0 => array (
  136. 'name' => 'Mary',
  137. 'car' => 'Mazda',
  138. ),
  139. 1 => array (
  140. 'name' => 'Kathy',
  141. 'car' => 'Mazda',
  142. ),
  143. ),
  144. )*/
  145.  
  146. $stmt = $pdo->prepare("SELECT 1 FROM users WHERE name=?");
  147. $stmt->execute([$name]);
  148. $userExists = $stmt->fetchColumn();
  149.  
  150. $data = $pdo->query("SELECT * FROM table")->fetchAll();
  151. if ($data) {
  152. // ¡Tiene los datos, no necesita para nada usar rowCount()!
  153. }
  154.  
  155. $count = $pdo->query("SELECT count(1) FROM t")->fetchColumn();
  156.  
  157. $stmt = $pdo->prepare("SELECT * FROM table WHERE name LIKE '%?%'");
  158.  
  159. $search = "%$search%";
  160. $stmt = $pdo->prepare("SELECT * FROM table WHERE name LIKE ?");
  161. $stmt->execute([$search]);
  162. $data = $stmt->fetchAll();
  163.  
  164. $arr = [1,2,3];
  165. $in = str_repeat('?,', count($arr) - 1) . '?';
  166. $sql = "SELECT * FROM table WHERE column IN ($in)";
  167. $stm = $db->prepare($sql);
  168. $stm->execute($arr);
  169. $data = $stm->fetchAll();
  170.  
  171. $arr = [1,2,3];
  172. $in = str_repeat('?,', count($arr) - 1) . '?';
  173. $sql = "SELECT * FROM table WHERE foo=? AND column IN ($in) AND bar=? AND baz=?";
  174. $stm = $db->prepare($sql);
  175. $params = array_merge([$foo], $arr, [$bar, $baz]);
  176. $stm->execute($params);
  177. $data = $stm->fetchAll();
  178.  
  179. // other parameters that are going into query
  180. $params = ["foo" => "foo", "bar" => "bar"];
  181.  
  182. $ids = [1,2,3];
  183. $in = "";
  184. foreach ($ids as $i => $item)
  185. {
  186. $key = ":id".$i;
  187. $in .= "$key,";
  188. $in_params[$key] = $item; // collecting values into key-value array
  189. }
  190. $in = rtrim($in,","); // :id0,:id1,:id2
  191.  
  192. $sql = "SELECT * FROM table WHERE foo=:foo AND id IN ($in) AND bar=:bar";
  193. $stm = $db->prepare($sql);
  194. $stm->execute(array_merge($params,$in_params)); // just merge two arrays
  195. $data = $stm->fetchAll();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement