Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: по базе данных
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » по базе данных

Страниц (3): [1] 2 3 »
 

1. bobo123 - 02 Февраля, 2009 - 21:00:16 - перейти к сообщению
есть база данных users
есть поле polz ,и в нем запись admin, как сделать,чтобы вторую запись admin нельзя было внести?

и как добавить в sql запросе пользователя по умолчанию

поля-- id, polz, fio,nick,passw(md5), email, uniq_id(для ссылки на активацию) , status(должен быть активен,например активен ,если значение =3) )
(Добавление)
что ни у кого нет желания помочь?
2. valenok - 03 Февраля, 2009 - 15:07:45 - перейти к сообщению
bobo123 есть такой параметр у поля - уникальный.
Поищи его в phpmyadmin на странице стурктуры таблицы, или редактирования поля.
3. EuGen - 03 Февраля, 2009 - 15:12:50 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1.  
  2. ALTER TABLE `your_table` ADD UNIQUE `byPolz` (`polz`)
  3.  
4. bobo123 - 03 Февраля, 2009 - 15:56:44 - перейти к сообщению
а если,в поле polz могут и другие записи быть?
5. EuGen - 03 Февраля, 2009 - 15:59:29 - перейти к сообщению
В смысле?
Индекс не изменит Ваших данных.
В случае, если повторяющиеся записи уже есть, уникальный индекс создать не удастся
6. Champion - 03 Февраля, 2009 - 16:59:12 - перейти к сообщению
Я думаю автор хочет что-то типа вот такого столбца: admin, user, user, user... Т.е. админ один, а другие все - просто user. Могу посоветовать сделать триггер на вставку и апдейт, который проверит существование записис со значением admin. Или вставку через хранимую процедуру, которая проверит прежде, чем вставить...
7. bobo123 - 03 Февраля, 2009 - 17:02:00 - перейти к сообщению
Champion пишет:
Я думаю автор хочет что-то типа вот такого столбца: admin, user, user, user... Т.е. админ один, а другие все - просто user. Могу посоветовать сделать триггер на вставку и апдейт, который проверит существование записис со значением admin. Или вставку через хранимую процедуру, которая проверит прежде, чем вставить...


да да ,именно это имею ввиду,а конкретнее со вставками,если пожете то на примере
8. Champion - 03 Февраля, 2009 - 17:13:46 - перейти к сообщению
не-не-не, я сказал, что вам нужно. Дальше попробуйте воспользоваться яндексом. Поищите триггеры mysql. Напишите триггер. Если не заработает, вот тогда уже сюда его текст и вопросы.
9. franky - 06 Февраля, 2009 - 21:24:35 - перейти к сообщению
Всем привет! У меня опять завал с базой!!! А?!
Незнаю туда ли пишу, но вродь подходит.
Вобщем проблема:
При попытке средством ПХП в базу мускл не могу добавить данные.
Конкретней- после добавления(псевдо) я вижу: "Данные успешно добавлены!!!",
А в базе на самом деле никаких изменений.
Я предполагаю что ПХП не видит запрос, так как ерроров никаких, ни пхп, ни мускл.
Кто-нить сталкивался?
10. vitaliy_mad - 06 Февраля, 2009 - 23:18:28 - перейти к сообщению
franky было бы чудно.. если б ты показал нам как делаешь запрос, кусочек скрипта выложи
11. franky - 07 Февраля, 2009 - 01:53:06 - перейти к сообщению
Пользователь с файла reg.php акшеном попадает на rega.php
rega.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. $name=substr($name,0,20);
  3.  
  4. $q = @mysql_query("select * from `use` where name='$name';");
  5. $user = @mysql_fetch_array($q);
  6. if(empty($name)) $error='Не введен логин!<br/>';
  7. if(empty($pass)) $error=$error.'Не введен пароль!<br/>';
  8. if(empty($email)) $error=$error.'Не введен email;<br/>';
  9. if(preg_match("/[^\da-zA-Z-@#!_]+/",$name)) $error.='В логине обнаружены недопустимые символы! Логин должен быть на латинице!<br/>';
  10. if(preg_match("/[^\da-zA-Z_]+/",$pass)) $error.='Недопустимые символы в пароле! Пароль должен быть на латинице!<br/>';
  11. $log_in = $user['name'];
  12. if(empty($error))
  13. {
  14. if(strtolower($name) != strtolower($log_in))
  15. {
  16. @mysql_query("insert into `use` values('$name','$pass','$email');");
  17. print $name.", спасибо за регистрацию<br/>";
  18. }
  19. else
  20. {
  21. print 'К сожалению такой пользователь уже зарегистрирован!';
  22. }
  23. }
  24. else
  25. {
  26. print $error;
  27. }
  28.  

Всё работает, проверка на пустые поля и т.д.
Чё не так не пойму
12. vitaliy_mad - 07 Февраля, 2009 - 02:24:12 - перейти к сообщению
какой запрос не обрабатывается?
13. Champion - 07 Февраля, 2009 - 07:55:08 - перейти к сообщению
franky пишет:
@mysql_query("insert into `use` values('$name','$pass','$email');");
print $name.", спасибо за регистрацию<br/>";
Запрос синтаксически не верно составлен. Я думаю, что $name','$pass','$email' - не все поля таблицы. Если вы уберете @, увидите сообщение об ошибке. А сообщение о том, что всё успешно добавлено видите потому, что оно выводится безо всяких проверок, по-любому после вставки.
14. LONGMAN - 07 Февраля, 2009 - 15:34:22 - перейти к сообщению
И лучше сделать так:
PHP:
скопировать код в буфер обмена
  1. if(mysql_query("insert into `use` values ('$name','$pass','$email');")) print $name.", спасибо за регистрацию<br/>"; else print mysql_error()."<br/>";
15. franky - 07 Февраля, 2009 - 15:38:42 - перейти к сообщению
LONGMAN пишет:
И лучше сделать так:


А чем оно лучше? Не объясните?

 

Powered by ExBB FM 1.0 RC1