Advertisement
Guest User

Untitled

a guest
Aug 10th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. <?php
  2. ini_set('display_errors', 1);
  3.  
  4. // ПОДКЛЮЧЕНИЕ К БД
  5. $host = 'localhost';
  6. $db = 'test';
  7. $user = 'root';
  8. $pass = 'root';
  9. $charset = 'utf8';
  10.  
  11. $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
  12. $opt = [
  13. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  14. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
  15. ];
  16. $pdo = new PDO($dsn, $user, $pass, $opt); // PDO стандартный класс PHP
  17.  
  18. // SELECT 1
  19. // $stmt = $pdo->query('SELECT login FROM users'); // query использовать только для работы без переменных php
  20. // while ($row = $stmt->fetch()) { // получаем каждую строку из запроса
  21. // echo $row['login']."<br>";
  22. // }
  23.  
  24. // SELECT 2
  25. // $stmt = $pdo->prepare('SELECT login FROM users WHERE id > :id'); // подготовка
  26. // $stmt->execute(array('id' => 0)); // подставляем значение в :id
  27. // foreach ($stmt as $row) {
  28. // echo $row['login']."<br>";
  29. // }
  30.  
  31. // UPDATE 1
  32. // $stmt = $pdo->query('UPDATE users SET bonus = 0');
  33.  
  34. // UPDATE 2
  35. // $data = array(
  36. // 1 => 3,
  37. // 2 => 5,
  38. // );
  39. // $stmt = $pdo->prepare('UPDATE users SET bonus = bonus + ? WHERE id = ?');
  40. // foreach ($data as $id => $bonus) {
  41. // $stmt->execute([$bonus, $id]);
  42. // }
  43.  
  44. // SELECT 3 - для одного поля из одной строки
  45. // $stmt = $pdo->query('SELECT login FROM users WHERE id = 1');
  46. // $login = $stmt->fetchColumn();
  47. // echo $login;
  48.  
  49. // SELECT 4 - вывести массив вида [0=>value1,1=>value2]
  50. // $data = $pdo->query('SELECT login FROM users')->fetchAll(PDO::FETCH_COLUMN);
  51. // var_dump($data);
  52.  
  53. // SELECT 5 - вывести массив вида [id1=>value1,id2=>value2]
  54. // $data = $pdo->query('SELECT id, login FROM users')->fetchAll(PDO::FETCH_KEY_PAIR);
  55. // var_dump($data);
  56.  
  57. // SELECT 6 - вывести массив вида [id1=>[option1=>value1,option2=>value2], id2=>[option1=>value1,option2=>value2]]
  58. // $data = $pdo->query('SELECT id, login, password FROM users')->fetchAll(PDO::FETCH_UNIQUE);
  59. // var_dump($data);
  60.  
  61. // РЕШЕНИЕ ПРОБЛЕМЫ С LIKE
  62. // $login = "%user%";
  63. // $stmt = $pdo->prepare('SELECT * FROM users WHERE login LIKE ?');
  64. // $stmt->execute(array($login));
  65. // $data = $stmt->fetchAll();
  66. // var_dump($data);
  67.  
  68. // РЕШЕНИЕ ПРОБЛЕМЫ С LIMIT
  69. // $limit_from = 1; // начальная позиция
  70. // $per_page = 2; // сколько взять
  71. // $stmt = $pdo->prepare('SELECT * FROM users LIMIT ?, ?');
  72. // $stmt->bindValue(1, $limit_from, PDO::PARAM_INT);
  73. // $stmt->bindValue(2, $per_page, PDO::PARAM_INT);
  74. // $stmt->execute();
  75. // $data = $stmt->fetchAll();
  76. // var_dump($data);
  77.  
  78. // РЕШЕНИЕ ПРОБЛЕМЫ С IN (когда не знаешь сколько нужно поставить знаков ?)
  79. // $arr = array(1,2,3);
  80. // $in = str_repeat('?,', count($arr)-1).'?'; // "?,?,?"
  81. // $sql = "SELECT * FROM table WHERE column IN ($in)";
  82. // $stmt = $db->prepare($sql);
  83. // $stmt->execute($arr);
  84. // $data = $stmt->fetchAll();
  85. // var_dump($data);
  86.  
  87. // ИСПОЛЬЗОВАТЬ ДЛЯ DELETE, КОГДА НЕ НУЖНО НИЧЕГО ВОЗВРАЩАТЬ
  88. // $pdo->exec(string $statement); // вместо prepare
  89.  
  90. // ГЕНЕРАЦИЯ ССЫЛОК С ОПРЕДЕЛЕННЫМИ ПАРАМЕТРАМИ
  91. $data = $stmt->fetchAll();
  92. foreach ($data as $key => $value) {
  93. ?>
  94. <a href="/edit.php?id=<?=$user['id']?>">Редактировать</a>
  95. <?php
  96. }
  97. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement