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

Форум MySQL

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

 

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

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

тема: Нужно сделать запрос в базу mysql и получить номер последней записи
 
 автор: zIP   (02.11.2005 в 16:24)   письмо автору
 
 

Нужно сделать запрос в базу mysql и получить номер последней записи в определенной табице и присвоить это значение переменной $result
Делаю так:

<?php 
   $link 
mysql_connect("localhost""zip""zip""search"
          or die(
"Could not connect: " mysql_error()); 
$query mysql_query("SELECT MAX(id) FROM sebtableindexdata"); 
$query mysql_query("SELECT LAST_INSERT_ID()"); 
$result mysql_result($query00); 
   echo 
$result 
?>
 


Выдает

Resource id #2 

А номер по факту 500.
Что делаю не так.

   
 
 автор: Евгений Петров   (02.11.2005 в 16:32)   письмо автору
 
   для: zIP   (02.11.2005 в 16:24)
 

<?php
   $link 
mysql_connect("localhost""zip""zip""search")
          or die(
"Could not connect: " mysql_error());
$query mysql_query("SELECT MAX(id) FROM sebtableindexdata");
echo 
mysql_insert_id();
?>

   
 
 автор: zIP   (02.11.2005 в 19:34)   письмо автору
 
   для: Евгений Петров   (02.11.2005 в 16:32)
 

Вывод результата - 0

   
 
 автор: Евгений Петров   (02.11.2005 в 19:45)   письмо автору
 
   для: zIP   (02.11.2005 в 19:34)
 

Ну так понятно. Вы ж ничего не добавляете в базу, а следовательно последний сгенерированный ID = 0. Вам вообще что нужно сделать?

   
 
 автор: cheops   (02.11.2005 в 19:57)   письмо автору
 
   для: zIP   (02.11.2005 в 16:24)
 

Уберите запрос
<?php
$query 
mysql_query("SELECT LAST_INSERT_ID()");
?>

и 0 в mysql_result(), оставьте только
<?php 
   $link 
mysql_connect("localhost""zip""zip""search"
          or die(
"Could not connect: " mysql_error()); 
$query mysql_query("SELECT MAX(id) FROM sebtableindexdata"); 
$result mysql_result($query0); 
   echo 
$result 
?>

Ответ
Resource id #2

странен и харктерен скорее для дескриптора $query.

PS Вопросы, посвящённые MySQL лучше сразу размещать в разделе MySQL.

   
 
 автор: zIP   (02.11.2005 в 20:49)   письмо автору
 
   для: cheops   (02.11.2005 в 19:57)
 

Ответ -
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in F:\server\www\search\look.php on line 5

line 5

$result = mysql_result($query, 0);

   
 
 автор: Евгений Петров   (02.11.2005 в 21:00)   письмо автору
 
   для: zIP   (02.11.2005 в 20:49)
 

Скажите, зачем вы определяете последний id если вы ничего не добавляете в БД? LAST_INSERT_ID() - показвает последнии сгенерированный id для поля auto_increment при вставке данных в таблицу?

   
 
 автор: zIP   (02.11.2005 в 21:54)   письмо автору
 
   для: Евгений Петров   (02.11.2005 в 21:00)
 

В том то и дело что надо добовлять. Есть скрипт добавления данных в таблицы mysql и скрипт поиска по этим. таблицам. Вносить он может только начиная с нуля. А надо чтобы он добавлял данные начиная с последнего номера. Просто производить полную индексацию при добавлении новых директорий с файлами глупо да долго, Количество файлов переваливает за 50тыс.
В связи с этим нужно определять последнее значение. В противном случае данные просто не вносятся т.к. поля начиная с нуля уже заняты.

   
 
 автор: Евгений Петров   (02.11.2005 в 22:01)   письмо автору
 
   для: zIP   (02.11.2005 в 21:54)
 

Ничего не понял. Вам нужно чтобы id при занесении всегда был больше предыдущего? Ну так сделайте атррибут auto_increment у поля id и он сам будет увеличиваться на единицу.

   
 
 автор: zIP   (02.11.2005 в 22:21)   письмо автору
 
   для: Евгений Петров   (02.11.2005 в 22:01)
 

Да, нужно что бы id был больше на единицу, но отсчет нужно начинать не с нуля а с номера последней записи в определенной таблице.

   
 
 автор: Евгений Петров   (02.11.2005 в 22:28)   письмо автору
 
   для: zIP   (02.11.2005 в 22:21)
 

А вы что таблицы создаете динамически? Т.е. у вас что нет определенного набора таблиц? Если есть то опишите поподробнее что хранится в этих таблицах и что вам надо. Если вам надо задать стартовый id для какой то таблицы, то зачем это делать в дальнейшем... ?

   
 
 автор: napTu3aH   (03.11.2005 в 09:29)   письмо автору
 
   для: zIP   (02.11.2005 в 20:49)
 

Странно.... Запрос ничего не возвращает. Перепишите ваш код таким образом

<?php 
   $link 
mysql_connect("localhost""zip""zip""search"
          or die(
"Could not connect: " mysql_error());
$query mysql_query("SELECT MAX(id) FROM sebtableindexdata");
if (!
$query) {
echo 
"Ошибка выполнения запроса!<br>".mysql_error();
die;
}
$result mysql_result($query0);
   echo 
$result;
?>


Какую ошибку выводит в браузер?

   
Rambler's Top100
вверх

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