Вход Регистрация
* romanvht

Все самое важное о MySQLi

  1. 1. Подключение к базе
  2. $vht = new mysqli('localhost', 'romanvht_user', 'romanvht_password', 'romanvht_db');
  3. if($vht->connect_errno){
  4. die('Ошибка подключения '.$mysqli->connect_error);
  5. }
  6.  
  7. 2. Обычные запросы
  8. Тут тоже все предельно просто
  9.  
  10. $vht->query("SELECT `gg` FROM `table`"); // Запрос, аналог mysql_query
  11.  
  12. $sql = $vht->query("SELECT `gg` FROM `table`")->num_rows; // К-во строк, аналог mysql_num_rows
  13.  
  14. $sql = $vht->query("SELECT `gg` FROM `table`")->field_count; // Выводит уже не строки а стобцы (к-во)
  15.  
  16. $sql = $vht->query("SELECT `gg` FROM `table`")->fetch_assoc(); // Преобразует данные в именной массив
  17.  
  18. //Вывод
  19. echo $sql['name'];
  20.  
  21. //Пример в цикле
  22. $sql = $vht->query("SELECT `gg` FROM `table`");
  23. while($a = $sql->fetch_assoc()){
  24. echo $sql['name'];
  25. }
  26.  
  27. $sql = $vht->query("SELECT `gg` FROM `table`")->fetch_row(); // Преобразует данные в числовой (нумерованный) массив, используется аналогично конструкции выше
  28.  
  29. $sql = $vht->insert_id; // Последний сгенерированный ID
  30.  
  31. 3. Защита
  32. $txt = 'Тут что-то есть к примеру';
  33. $text = $vht->real_escape_string($t); // Аналог mysql_real_escape_string
  34.  
  35. //Защищенный запрос (Подготовленное выражение)
  36. $sql = $vht->prepare("INSERT INTO `gg` VALUES (?, ?)"); //#1
  37. $sql->bind_param('si', $name, $date); //#2
  38. $name = 'Имя';
  39. $date = 18;
  40. $sql->execute(); //#3
  41.  
  42. Тем кто не знаком с таким видом выполнения запроса, может показаться что тут что-то очень непонятное, но на самом деле и тут все предельно просто!
  43.  
  44. #1 Старт запроса
  45. #2 Задаем "вопросикам" значения через переменные (можно и просто ('si', 'имя', 'возраст'))
  46. #3 Выполнение запроса
  47.  
  48. Некоторых может смутить зачем si и что это?
  49.  
  50. Дело в том, что функция сама экранирует все "ненужные" символы в строке, нам нужно лишь указать тип строк.
  51.  
  52. i - числовые значения (INT), d - DOUBLE и FLOAT значения, b - BLOB значения, s - все остальное.
  53. Гораздо безопаснее использовать как раз подготовленные выражения для выполнения запросов.
  54.  
  55. Вот собственно, мы рассмотрели все самое нужное про MySQLi.
  56. Всем спасибо, удачи!
» Описание: Многие уже наверное знают, что mysql_ считается устаревшей фнкцией. И что нужно переходить на что-то
» Время добавления: 1 Дек 2014 в 18:55
» Посмотров: 1632
» textarea
» Рейтинг: [+5 | -1]
Комментарии [14]
Онлайн: 2
Реклама
Игры между пользователями