У меня есть PHP-скрипт, в котором я могу регистрировать пользователей новостей. Конечно, я хочу вставить такие вещи, как имя пользователя, пароль и т. Д. (Эти значения исходят от пользователя), но с другой стороны я хочу вставить его user_id (новый пользователь!) В другую таблицу.Несколько Вставка в разные таблицы с вставкой новых AI
Мои SQL
$sql = "
BEGIN;
INSERT INTO users (username, password, auth_lvl, realname, usercolor) VALUES ('$username', '$password', '$auth_lvl', '$realname', '$usercolor');
INSERT INTO users_startmodules (user_id, startmodule, enabled) VALUES ('(SELECT MAX(user_id)+1 FROM users)', 'newsmodule', '1');
COMMIT;
";
Как я могу решить эту проблему и BEGIN; ... COMIT;
правильный выбор, когда я хочу, чтобы получить запрос отменен, если только одна вещь не работает, потому что я не хочу иметь всего несколько записей в худшем случае.
Вставка данных, предоставленных пользователем непосредственно в вашу базу данных, не самая лучшая идея независимо от того, что вы делаете. Я предлагаю использовать MySQLi или PDO с подготовленными операторами. Я не являюсь частью MySQLi самостоятельно, но с PDO это вопрос использования 'beginTransaction()'/'endTransaction()' – icecub