Вопросы
Почему не стоит использовать функции mysql_* в PHP?
Проблема с использованием функций mysql_*
в PHP
Я столкнулся с некоторыми проблемами при использовании функций mysql_*
в PHP, таких как mysql_query()
, mysql_connect()
и mysql_real_escape_string()
. Хотел бы понять технические причины, по которым не стоит использовать эти функции.
1....
Как предотвратить SQL-инъекции в PHP?
Описание проблемы
Я столкнулся с проблемой SQL-инъекций в своем приложении. Когда пользовательский ввод вставляется в SQL-запрос без предварительной обработки, это делает систему уязвимой к атакам. Я привожу ниже пример кода, где данная уязвимость имеется:
$unsafe_variable =...
В чем разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN?
Описание проблемы
На StackOverflow существует вопрос с ответами на тему различий между различными типами соединений в SQL. Известно, что существует несколько видов соединений, таких как INNER JOIN
, LEFT JOIN
, RIGHT JOIN
и FULL JOIN
, однако, я не совсем понимаю, каковы основные отличия...
Как сбросить AUTO_INCREMENT в MySQL
Заголовок: Как сбросить значение AUTO_INCREMENT для поля?
Содержимое: Я хочу сбросить значение AUTO_INCREMENT для определенного поля в базе данных, чтобы оно снова начинало счёт с 1. Как это можно сделать?
SQL: выбрать только строки с максимальным значением в столбце
Описание проблемы для StackOverflow:
У меня есть таблица для документов (здесь представлена упрощенная версия):
CREATE TABLE documents (
id INT,
rev INT,
content TEXT
);
Таблица содержит следующие данные:
id | rev | content |
---|---|---|
1 | 1 | ... ... |
Получение последней записи в каждой группе - 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 *...
UTF-8 на всех уровнях!
Я настраиваю новый сервер и хочу полностью поддерживать UTF-8 в своем веб-приложении. В прошлом, когда я пробовал это на существующих серверах, мне всегда приходилось возвращаться к ISO-8859-1.
Где именно мне нужно установить кодировку/символьные наборы? Я знаю, что необходимо настроить Apache,...
INNER JOIN ON vs WHERE: что выбрать?
Проблема заключается в том, чтобы понять, действуют ли два различных способа выполнения SQL-запросов в MySQL одинаково.
Для простоты предположим, что все соответствующие поля имеют значение NOT NULL.
Есть два способа записи запроса:
- С использованием старого синтаксиса с запятой для...
Присоединение против подзапроса: что выбрать?
Я старомодный пользователь MySQL и всегда предпочитал использовать JOIN
вместо подзапросов. Но в последнее время все используют подзапросы, и я этого не понимаю; мне это не нравится, но я не могу объяснить, почему.
У меня недостаточно теоретических знаний, чтобы самостоятельно оценить, есть ли...
Вставка записи в таблицу MySQL или обновление, если запись существует
Я хочу добавить строку в таблицу базы данных, но если строка с тем же уникальным ключом уже существует, я хочу обновить эту строку.
Например:
INSERT INTO table_name (ID, NAME, AGE) VALUES(1, "A", 19);
Допустим, уникальным ключом является ID
, и в моей базе данных уже есть строка с...
Ошибка: 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...
Как выбрать строки с 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
);
Какой запрос вернет строки для каждого уникального...
Когда использовать одинарные кавычки, двойные кавычки и обратные кавычки в MySQL
Я пытаюсь разобраться в том, как правильно писать SQL-запросы. Я понимаю, что важно придерживаться единого стиля. До сих пор я использовал одинарные кавычки, двойные кавычки и обратные кавычки совершенно случайным образом, не задумываясь о выборе.
Пример:
$query = 'INSERT INTO table (id,...