Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Узнать последний идентификатор
 
 автор: Елена Смирнова   (25.12.2007 в 01:06)   письмо автору
 
 

Есть таблица

id login pass

Как узнать какой последний id?
П.С. Не количество строк в таблице, а именно последний id

   
 
 автор: Trianon   (25.12.2007 в 01:09)   письмо автору
 
   для: Елена Смирнова   (25.12.2007 в 01:06)
 

можно узнать добавленный id сразу за оператором добавления.
Делается это вызовом mysql_insert_id(); сразу после успешного mysql_query("INSERT INTO ...")

Последний же id никакой алгоритмической пользы не несет. В отличие от вышеприведенного.

   
 
 автор: Елена Смирнова   (25.12.2007 в 01:11)   письмо автору
 
   для: Trianon   (25.12.2007 в 01:09)
 

Значит узнать его нельзя?
Я делаю так, узнаю кол-во строк записываю в переменную $all
птом при создании файла использую $all+1.txt
Но, если файл был удален то строк менньше, а значит перезапишется уже существующий файл :(

   
 
 автор: Trianon   (25.12.2007 в 01:15)   письмо автору
 
   для: Елена Смирнова   (25.12.2007 в 01:11)
 

Вы имеете в виду - узнать наибольший id?
Почему нельзя - можно.

SELECT  MAX(id) FROM tbl 


Да только толку никакого. Никто ведь не гарантирует того, что пока вы его узнаете, кто-то еще его не увеличит.


Если же Вы имеете узнать id последней строки - то увы. Первых - последних строк в таблице нет. Все строки лежат внавал.

   
 
 автор: Елена Смирнова   (25.12.2007 в 01:18)   письмо автору
 
   для: Trianon   (25.12.2007 в 01:15)
 

>Да только толку никакого. Никто ведь не гарантирует того, что пока вы его узнаете, кто-то >еще его не увеличит.
Вот не думала, как же теперь быть? :( все мои планы летят (

   
 
 автор: Trianon   (25.12.2007 в 01:18)   письмо автору
 
   для: Елена Смирнова   (25.12.2007 в 01:11)
 

В любом случае Вам нужно отталкиваться от mysql_insert_id();
Сохраняете файл под временным именем.
Добавляете строку,
присваиваете $id = mysql_insert_id();
переименовываете файл в "$id".

если вопрос в том, как получить временное имя - запросите что-нибудь вроде md5(microtime());
За временное вполне покатит.

   
 
 автор: Елена Смирнова   (25.12.2007 в 01:25)   письмо автору
 
   для: Trianon   (25.12.2007 в 01:18)
 

Можно подробнее... Не понимаю (

   
 
 автор: Trianon   (25.12.2007 в 01:30)   письмо автору
 
   для: Елена Смирнова   (25.12.2007 в 01:25)
 

Я так понял, что Вы хотели сперва файл создать с очередным номером, а потом строку в таблицу добавить.
Нужно поступить наоборот. Сперва добавить строку в таблицу, потом получить её номер, и только потом создать файл. Благо номер уже известен.

   
 
 автор: Елена Смирнова   (25.12.2007 в 01:45)   письмо автору
 
   для: Trianon   (25.12.2007 в 01:30)
 

Странно, но у меня скачет через 1.
Я саздала файл под id15 далее файл дожен создаться под id 16, но он создается и под 16 и даже под 17 (

Надеюсь правильно:
mysql_query("insert into wp_files
values(0,
'".mysql_escape_string($filename)."',
'".mysql_escape_string($file_extension)."',
'".mysql_escape_string($login)."',
'".mysql_escape_string($info)."',
'',
'".mysql_escape_string($date)."',
'',
'');")
 or die ("Îøèáêà INTO");
$all = mysql_insert_id();

   
 
 автор: Елена Смирнова   (25.12.2007 в 01:48)   письмо автору
 
   для: Елена Смирнова   (25.12.2007 в 01:45)
 

Все верно, работает. Я просто када запрос к БД перенасила перед созданием файла, со старого места не удалила, поэтому у меня и было по два обращения.
Спасибо, вы очень помогли!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования