Уж извините, что в разделе PHP хотя к PHP вопрос тоже отношение имеет.
Так вот господа знатоки, начну с пред истории. Задумал я сделать сайтик о истории нашей музыки, с возможностью внесение информации о группах через форму в базу данных, спроектировал базу сверстал шаблончик, написал код на PHP, испытав свое великое свершение пришел к выводу, что база спроектирована не правильно.
База состоит из 2х таблиц проблема только в одной
1я
группа
альбом
год
список песен
ссылка на обложку
в результате оказалось, что каждая запись может быть внесена несколько раз. Как гарантировать уникальность (не возможность повторения) каждой строки? Идентификатор с автоикрементом, который будет являтся первичным ключем, будет гарантией уникальности? И если да то второй вопрос
Почему данный код не вносит информацию в БД?
Таблица в базе:
use имя_базы; create table m_grup (m_id int unsigned not null auto_increment primary key, grup char(30) not null, god tinyint unsigned not null, albom char(40) not null, pesni text not null, oblojka char(40) not null);
запрос:
<? if (!$grup) // да, я знаю что проверять надо наличие всех))) { echo "<div class='oshibka'><p class='pa'>Информация не введена!</p><p class='pb'>Заполните поля</p></div>"; niz(); exit; } $grup = addslashes($grup); $god = addslashes($god); $albom = addslashes($albom); $pesni = addslashes($pesni); $oblojka = addslashes($oblojka); $info = addslashes($info); @ $bd = mysql_pconnect ("localhost", "имя_базы", "пароль"); if (!$bd) { echo "База не существует"; exit; } mysql_select_db("имя_базы"); $zapros = "insert into m_grup values ('".$grup."', '".$god."', '".$albom."', '".$pesni."', '".$oblojka."')"; $result = mysql_query ($zapros); if (!$result) echo "Ничего"; ?>
База существует, привелегии позволяют
Получаю в результате "Ничего" и отсутствие строки в таблице, хотя ошибок не выдает.
Смутно я понимаю, что проблема в m_id (идентификаторе), если убрать его то все работает, но не гарантирует уникальности строке, и вобщем-то догадываюсь, проблема либо в том что m_id int unsigned not null auto_increment primary key и в том что не упоминаю m_id в запросе, но как исправить? Сорри если задаю глупые вопросы делаю только первые шаги и в PHP и в SQL
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
LEXS
Уж извините, что в разделе PHP хотя к PHP вопрос тоже отношение имеет.
Так вот господа знатоки, начну с пред истории. Задумал я сделать сайтик о истории нашей музыки, с возможностью внесение информации о группах через форму в базу данных, спроектировал базу сверстал шаблончик, написал код на PHP, испытав свое великое свершение пришел к выводу, что база спроектирована не правильно.
База состоит из 2х таблиц проблема только в одной
1я
группа
альбом
год
список песен
ссылка на обложку
в результате оказалось, что каждая запись может быть внесена несколько раз. Как гарантировать уникальность (не возможность повторения) каждой строки? Идентификатор с автоикрементом, который будет являтся первичным ключем, будет гарантией уникальности? И если да то второй вопрос
Почему данный код не вносит информацию в БД?
Таблица в базе:
запрос:
База существует, привелегии позволяют
Получаю в результате "Ничего" и отсутствие строки в таблице, хотя ошибок не выдает.
Смутно я понимаю, что проблема в m_id (идентификаторе), если убрать его то все работает, но не гарантирует уникальности строке, и вобщем-то догадываюсь, проблема либо в том что m_id int unsigned not null auto_increment primary key и в том что не упоминаю m_id в запросе, но как исправить? Сорри если задаю глупые вопросы делаю только первые шаги и в PHP и в SQL
Edited by LEXSLink to comment
Share on other sites
12 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.