Простые примеры добавления в БД данных при регистрации. Исходники кода. Для продвинутых пользователей
- $db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip)
- VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" . $config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" );
- $id = $db->insert_id(); mysql_query( "INSERT INTO `my_table1` (pole1, pole2)
- VALUES ('$name', '0')" ); mysql_query( "INSERT INTO `my_table2` (pole_a, pole_b) VALUES ('$name', '0', '0')" );
Как пример! но здесь допущена ошибка! данные занесутся, но без привязки к пользователю!
К примеру, у нас создана своя таблица со своими столбцами и т.д параметрами.
И наша цель - запись в нее своих данных о пользователях. Либо вы дополнили таблицу dle_users новыми столбцами, не важно.
Суть в привязке к аккаунту! И так, у нас под прицелом файл /engine/modules/register.php
Что не так в данной таблице?
Ответ: синтаксис ввода данных, само выполнение запросов происходит совершенно разными путями.
- mysql_query( "INSERT INTO `my_table1` (pole1, pole2) VALUES ('$name', '0')" );
- mysql_query( "INSERT INTO `my_table2` (pole_a, pole_b) VALUES ('$name', '0', '0')" );
Здесь главная ошибка: способ подачи, мы все скопировали, используя некий урок в Гугле, подставили под шаблон DLE но не учли самого простого!
- Код [$db->query( "INSERT INTO `my_table1` (pole1, pole2) VALUES ('$name', '0')" );
- $db->query( "INSERT INTO `my_table2` (pole_a, pole_b) VALUES ('$name', '0', '0')" );
Этот вариант верный, если для своей таблицы!
А если вы хотите записать в стандартную таблицу, где вы уже добавили столбец, то в стандартный код мы всего-навсего добавим имя своего столбца!
- Код $db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, moi_stotbec, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip)
- VALUES ('$name', '$regpassword', '$email', $moi_stolbec,'$add_time', '$add_time', '" . $config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" );
А вот как это вывести на монитор, это отдельная история! Отдельный урок!
ЗАДАНИЕ: Найдите, где автор указал недопустимое значение синтаксиса при вводе в БД!
|