Использование в sql запросе переменных, содержащих кириллицу - MySQL

Узнай цену своей работы

Формулировка задачи:

Ребят, срочно нужна помощь. Имеется форма-фильтр
Листинг программы
  1. <form method="post" action="table_group.html">
  2. <select name="zaprs">
  3. <?php
  4. include_once 'connect.php';
  5. foreach ($names as $i => $value) {
  6. echo "<option value=$value>$value</option>";
  7. }
  8. ?>
  9. </select>
  10. <input type="text" name="zaprt"><br/>
  11. <input type="submit"><br/>
и php скрипт
Листинг программы
  1. require 'connect.php';
  2. $sql = "SELECT * FROM `group` WHERE $_REQUEST['zaprs']='$_REQUEST['zaprt']'";
  3. $result = mysqli_query($conn, $sql);
(сразу скажу, что запрос на правильность не претендует) Далее идёт вывод таблицы с помощью mysql_fetch_array(). Нужно правильно сформировать запрос к базе данных созданной в phpmyadmin (кодировка utf-8) с использованием данных из формы, дабы в таблице выводились отфильтрованные значения. Столбцы и текст в ячейках на кириллице. Кодировка вроде как тоже utf-8. Возможно ли это? Проверял кодировку sql запроса - отвечает, что ASCII. Сменить кодировку на UTF-8 не удаётся. Буду очень благодарен за любую помощь

Решение задачи: «Использование в sql запросе переменных, содержащих кириллицу»

textual
Листинг программы
  1. mysql_query("SET NAMES 'utf8'");
  2. mysql_query("SET CHARACTER SET 'utf8'");
  3. mysql_query("SET SESSION collation_connection = 'utf8_general_ci'");

Объяснение кода листинга программы

  1. mysql_query(SET NAMES 'utf8') - Эта строка кода устанавливает имена столбцов в результате запроса к базе данных на кодировку UTF-8. Это позволяет корректно обрабатывать и хранить русские символы.
  2. mysql_query(SET CHARACTER SET 'utf8') - Эта строка кода устанавливает набор символов, используемых для представления данных, на UTF-8. Это также позволяет обрабатывать и хранить русские символы.
  3. mysql_query(SET SESSION collation_connection = 'utf8_general_ci') - Эта строка кода устанавливает локальную кодировку соединения на 'utf8_general_ci'. Это означает, что при выполнении SQL-запросов будет использоваться кодировка UTF-8 с общим порядком сортировки (ci). Это также позволяет корректно обрабатывать и хранить русские символы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут