mysql ×51
Создан 05.01.2025
27
голоса
3
ответов
60
просмотров
Почему не стоит использовать функции mysql_* в PHP?

Проблема с использованием функций mysql_* в PHP

Я столкнулся с некоторыми проблемами при использовании функций mysql_* в PHP, таких как mysql_query(), mysql_connect() и mysql_real_escape_string(). Хотел бы понять технические причины, по которым не стоит использовать эти функции.

1....

27
голоса
4
ответов
56
просмотров
Как предотвратить SQL-инъекции в PHP?

Описание проблемы

Я столкнулся с проблемой SQL-инъекций в своем приложении. Когда пользовательский ввод вставляется в SQL-запрос без предварительной обработки, это делает систему уязвимой к атакам. Я привожу ниже пример кода, где данная уязвимость имеется:

$unsafe_variable =...
22
голоса
1
ответов
55
просмотров
В чем разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN?

Описание проблемы

На StackOverflow существует вопрос с ответами на тему различий между различными типами соединений в SQL. Известно, что существует несколько видов соединений, таких как INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN, однако, я не совсем понимаю, каковы основные отличия...

16
голоса
5
ответов
55
просмотров
Как сбросить AUTO_INCREMENT в MySQL

Заголовок: Как сбросить значение AUTO_INCREMENT для поля?

Содержимое: Я хочу сбросить значение AUTO_INCREMENT для определенного поля в базе данных, чтобы оно снова начинало счёт с 1. Как это можно сделать?

16
голоса
5
ответов
63
просмотров
SQL: выбрать только строки с максимальным значением в столбце

Описание проблемы для StackOverflow:

У меня есть таблица для документов (здесь представлена упрощенная версия):

CREATE TABLE documents (
    id INT,
    rev INT,
    content TEXT
);

Таблица содержит следующие данные:

id rev content
1 1 ... ...
13
голоса
5
ответов
54
просмотров
Получение последней записи в каждой группе - MySQL

У меня есть таблица messages, содержащая данные, как показано ниже:

Id   Name   Other_Columns
-------------------------
1    A       A_data_1
2    A       A_data_2
3    A       A_data_3
4    B       B_data_1
5    B       B_data_2
6    C       C_data_1

Когда я выполняю запрос `select *...

13
голоса
3
ответов
52
просмотров
UTF-8 на всех уровнях!

Я настраиваю новый сервер и хочу полностью поддерживать UTF-8 в своем веб-приложении. В прошлом, когда я пробовал это на существующих серверах, мне всегда приходилось возвращаться к ISO-8859-1.

Где именно мне нужно установить кодировку/символьные наборы? Я знаю, что необходимо настроить Apache,...

11
голоса
5
ответов
45
просмотров
INNER JOIN ON vs WHERE: что выбрать?

Проблема заключается в том, чтобы понять, действуют ли два различных способа выполнения SQL-запросов в MySQL одинаково.

Для простоты предположим, что все соответствующие поля имеют значение NOT NULL.

Есть два способа записи запроса:

  1. С использованием старого синтаксиса с запятой для...
11
голоса
5
ответов
51
просмотров
Присоединение против подзапроса: что выбрать?

Я старомодный пользователь MySQL и всегда предпочитал использовать JOIN вместо подзапросов. Но в последнее время все используют подзапросы, и я этого не понимаю; мне это не нравится, но я не могу объяснить, почему.

У меня недостаточно теоретических знаний, чтобы самостоятельно оценить, есть ли...

11
голоса
5
ответов
46
просмотров
Вставка записи в таблицу MySQL или обновление, если запись существует

Я хочу добавить строку в таблицу базы данных, но если строка с тем же уникальным ключом уже существует, я хочу обновить эту строку.

Например:

INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19);

Допустим, уникальным ключом является ID, и в моей базе данных уже есть строка с...

10
голоса
5
ответов
53
просмотров
Ошибка: mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows и др. ожидают ресурс в качестве параметра 1

Я пытаюсь извлечь данные из таблицы MySQL, но получаю одно из следующих сообщений об ошибке:

mysql_fetch_array() expects parameter 1 to be resource, boolean given

Вот мой код:

$username = $_POST['username'];
$password = $_POST['password'];

$result = mysql_query('SELECT * FROM...
9
голоса
5
ответов
53
просмотров
Как выбрать строки с MAX(значение колонки), используя PARTITION по другой колонке в MySQL?

У меня есть таблица с показателями игроков:

CREATE TABLE TopTen (
  id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
  home INT UNSIGNED NOT NULL,
  `datetime` DATETIME NOT NULL,
  player VARCHAR(6) NOT NULL,
  resource INT NOT NULL
);

Какой запрос вернет строки для каждого уникального...

8
голоса
5
ответов
57
просмотров
Когда использовать одинарные кавычки, двойные кавычки и обратные кавычки в MySQL

Я пытаюсь разобраться в том, как правильно писать SQL-запросы. Я понимаю, что важно придерживаться единого стиля. До сих пор я использовал одинарные кавычки, двойные кавычки и обратные кавычки совершенно случайным образом, не задумываясь о выборе.

Пример:

$query = 'INSERT INTO table (id,...
8
голоса
5
ответов
49
просмотров
MySQL Запрос: Группировка по Дню / Месяцу / Году

Можно ли составить простой запрос для подсчета количества записей за определенный период времени, например, год, месяц или день, используя поле типа TIMESTAMP? Например, такой запрос:

SELECT COUNT(id) FROM stats WHERE record_date.YEAR = 2009 GROUP BY record_date.YEAR

Или даже:

SELECT...

8
голоса
5
ответов
53
просмотров
Как временно отключить ограничение внешнего ключа в MySQL?

Заголовок: Как временно отключить ограничения внешних ключей в MySQL?

Описание проблемы: У меня есть две модели Django, каждая из которых имеет внешние ключи к другой. При попытке удалить экземпляры одной из моделей возникает ошибка из-за ограничения внешнего...

8
голоса
5
ответов
43
просмотров
MySQL: Как получить кодировку базы данных, таблицы или столбца?

Какая (по умолчанию) кодировка символов используется для:

  • Базы данных MySQL
  • Таблицы MySQL
  • Столбца MySQL

Я сталкиваюсь с проблемами, связанными с кодировкой символов в MySQL, и хотел бы прояснить, какая кодировка используется по умолчанию на разных уровнях: для всей базы данных, отдельных...

7
голоса
5
ответов
38
просмотров
Какой лучший порядок сортировки использовать для MySQL с PHP? [закрыто]

Проблема: Выбор коллации для MySQL для универсального веб-сайта

Здравствуйте!

Существует ли официально рекомендуемая коллация для MySQL, которая подходит для общего веб-сайта, где вы не на 100% уверены в вводимых данных? Я понимаю, что все кодировки должны быть одинаковыми, такими как MySQL,...

7
голоса
2
ответов
35
просмотров
SQL-инъекция, обхватывающая mysql_real_escape_string()

Подскажите, возможна ли уязвимость для SQL-инъекции даже с использованием функции mysql_real_escape_string()?

Рассмотрим следующую ситуацию. SQL-код формируется в PHP так:

$login = mysql_real_escape_string(GetFromPost('login')); $password = mysql_real_escape_string(GetFromPost('password'));

$sql...

7
голоса
5
ответов
43
просмотров
Создание нового пользователя в MySQL с полным доступом к одной базе данных

Я хочу создать нового пользователя в MySQL и предоставить ему полный доступ только к одной базе данных, скажем, dbTest, которую я создаю с помощью команды create database dbTest;. Какие MySQL команды мне нужно выполнить для этого?

7
голоса
5
ответов
45
просмотров
'IF' в операторе 'SELECT' – выбор выходного значения в зависимости от значений столбца

У меня есть запрос SQL:

SELECT id, amount FROM report

Мне нужно, чтобы поле amount оставалось без изменений, если report.type='P', и принимало отрицательное значение (-amount), если report.type='N'. Как мне добавить эту логику в указанный запрос?