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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: id записи

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Tahion
Отправлено: 30 Октября, 2009 - 05:46:01
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Надо сделать так, что бы каждый раз, при добавлении записи в таблицу MySQL ей автоматически присваивался id, который тоже является столбцом этой таблицы. Причем каждый следующий id должен быть на 1 больше предыдущего. Вот код добавления:
PHP:
скопировать код в буфер обмена
  1. <?
  2. $server="***";
  3. $dbuser="***";
  4. $pass="***";
  5. $DB="***";
  6. $ntitle = $_POST['title'];
  7. $ntext = $_POST['text'];
  8. $nuser = $_POST['user'];
  9. $id = $_POST['id'];
  10. $now = date (" H : i : s d - m - Y ");
  11. mysql_connect($server,$dbuser,$pass) or die(" Нет коннекта !");
  12. mysql_query("Insert INTO tms_news (Ntitle,Ntext,Ndate,Nuser,News_id)
  13. VALUES('".addslashes($ntitle)."','".addslashes($ntext)."','".addslashes($now)."',
  14. '".addslashes($nuser)."', '".addslashes($id)."')");
  15. echo " Новость добавлена !";
  16. ?>
 
 Top
Viper
Отправлено: 30 Октября, 2009 - 07:45:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




для поля id указать unsigned NOT NULL AUTO_INCREMENT


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Tahion
Отправлено: 30 Октября, 2009 - 16:16:40
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




SQL-запрос:

ALTER TABLE `tms_guests` CHANGE `id` `id` MEDIUMINT( 5 ) NOT NULL AUTO_INCREMENT

Ответ MySQL:

#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

(Отредактировано автором: 30 Октября, 2009 - 16:38:39)

 
 Top
valenok
Отправлено: 30 Октября, 2009 - 16:38:51
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Еще поле сделай первичным ключм


-----
Truly yours, Sasha.
 
My status
 Top
Tahion
Отправлено: 30 Октября, 2009 - 16:58:33
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




CODE (text):
скопировать код в буфер обмена
  1. ALTER TABLE  `tms_guests` ADD PRIMARY KEY (  `id` )

пишет
CODE (text):
скопировать код в буфер обмена
  1. #1062 - Duplicate entry '0' for key 1
 
 Top
Ch_chov
Отправлено: 30 Октября, 2009 - 17:51:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Нужно убрать все повторяющиеся значения из `id`
 
 Top
valenok
Отправлено: 30 Октября, 2009 - 18:15:15
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




ALTER TABLE `tms_guests` CHANGE `id` `id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ;


-----
Truly yours, Sasha.
 
My status
 Top
Tahion
Отправлено: 30 Октября, 2009 - 19:05:59
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Спасибо
 
 Top
Tahion
Отправлено: 31 Октября, 2009 - 10:04:31
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Что бы не создавать новую тему.
В таблице имеется 1 строка, 3 столбца
Надо их изменить через php
PHP:
скопировать код в буфер обмена
  1. <?
  2. $server="***";
  3. $dbuser="***";
  4. $pass="***";
  5. $DB="***";
  6. $ntitle = $_POST['title'];
  7. $ntext = $_POST['text'];
  8. $now = date (" H : i : s d - m - Y ");
  9. mysql_connect($server,$dbuser,$pass) or die(" Нет коннекта !");
  10. mysql_query("Update tms_bio Set title=$Ntitle, date=$now, text=$Ntext");
  11. echo " Биография изменена !";
  12. ?>

Пишет "Биография изменена !", но почему то не изменяет.

(Отредактировано автором: 31 Октября, 2009 - 10:07:51)

 
 Top
Ch_chov
Отправлено: 31 Октября, 2009 - 10:11:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




PHP:
скопировать код в буфер обмена
  1. echo "Update tms_bio Set title=$Ntext, date=$now, text=$Ntext";

Сам все увидишь.
Строковые значения нужно заключать в кавычки.

PHP:
скопировать код в буфер обмена
  1. $ntitle = $_POST['title'];
  2. $ntext = $_POST['text'];
Так тоже не надо делать. Проверяй все данные от пользователя.

http://php.su/security/
(Добавление)
Кстати, если у тебя будет несколько записей, то при таком запросе они будут обновляться все.
 
 Top
Tahion
Отправлено: 31 Октября, 2009 - 10:32:10
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




исправил на
PHP:
скопировать код в буфер обмена
  1. mysql_connect($server,$dbuser,$pass) or die(" Нет коннекта !");
  2. mysql_query("(Update tms_bio Set title='".$ntitle."', date='".$now."', text='".$ntext."')");
  3. echo "Update tms_bio Set title=$ntitle, date=$now, text=$ntext";

пишет
Цитата:
Update tms_bio Set title=Заголовок, date= 11 : 31 : 34 31 - 10 - 2009 , text=ТекстНазад!
 
 Top
valenok
Отправлено: 31 Октября, 2009 - 11:13:49
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Расскажу по секрету что строки берут в кавычки, команды пишут заглавными буквами, а названия имена и таблиц заключают в апострофы.
Кроме того, разумней использовать встроенные функции SQL вместо PHP - там, где это возможно.


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB