Регистрация
Вход через соцсети
Восстановление пароля

mysql_insert_id() возвращает 0

Новый топик
16.02.2009, 11:39
Ответить | Цитировать
ren

Зарегистрирован:
2009-01-20
Сообщений: 8

добавляю объект в компонент, хочу узнать айди, который ему соответствует, для этого пишу в
Действие после добавления объекта:
Код:

if($inside_admin) {
$ID = mysql_insert_id($LinkID);
echo "добавленная запись $ID ";
exit();
}


Получаю 0 !!! хотя в реальности естественно добавляется запись, у которой Message_ID это какое то число... Что я неправильно делаю?

ren
16.02.2009, 14:01
Ответить | Цитировать
xsite
Веб-студия XSite

Зарегистрирован:
2005-12-01
Сообщений: 19

ren писал(а):
добавляю объект в компонент, хочу узнать айди, который ему соответствует, для этого пишу в
Действие после добавления объекта:
Код:

if($inside_admin) {
$ID = mysql_insert_id($LinkID);
echo "добавленная запись $ID ";
exit();
}


Получаю 0 !!! хотя в реальности естественно добавляется запись, у которой Message_ID это какое то число... Что я неправильно делаю?


ID который вам нужен находится в переменной $msgID
16.02.2009, 14:03
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

1. В вашем случае добавленный ИД хранится в переменной $message.
2. В других случаях, если Вы работаете через встроенный класс ezSQL_mysql, переменная этого класса $db, то добавленный ИД можно получить так:
Код:

$db->query($insert);
$newid = $db->insert_id;

3. Ну а если Вы используете напрямую функции php, то ИД возвращается фунцией, указанной в вашем примере (только в вашем примере добавление происходит через указанный в п.2 класс, поэтому ваш пример не работает).

Temet nosce...
16.02.2009, 15:01
Ответить | Цитировать
xsite
Веб-студия XSite

Зарегистрирован:
2005-12-01
Сообщений: 19

DiGGy писал(а):
1. В вашем случае добавленный ИД хранится в переменной $message.
2. В других случаях, если Вы работаете через встроенный класс ezSQL_mysql, переменная этого класса $db, то добавленный ИД можно получить так:
Код:

$db->query($insert);
$newid = $db->insert_id;

3. Ну а если Вы используете напрямую функции php, то ИД возвращается фунцией, указанной в вашем примере (только в вашем примере добавление происходит через указанный в п.2 класс, поэтому ваш пример не работает).


/netcat/add.php (строка 138)
Код:
                $msgID = $db->insert_id ; 
16.02.2009, 15:34
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

xsite писал(а):
/netcat/add.php (строка 138)
Код:
                $msgID = $db->insert_id ; 


посмотрите ниже в том же файле
Код:
$message = $msgID;


Temet nosce...
16.02.2009, 16:45
Ответить | Цитировать
xsite
Веб-студия XSite

Зарегистрирован:
2005-12-01
Сообщений: 19

DiGGy писал(а):
xsite писал(а):
/netcat/add.php (строка 138)
Код:
                $msgID = $db->insert_id ; 


посмотрите ниже в том же файле
Код:
$message = $msgID;


Это я к тому что оба ответа верны.
т.е. и $message и $msgID правильно.
17.02.2009, 16:11
Ответить | Цитировать
ren

Зарегистрирован:
2009-01-20
Сообщений: 8

Спасибо!

ren
17.02.2009, 23:32
Ответить | Цитировать
wultrex
Верховых Евгений

Зарегистрирован:
2008-09-15
Сообщений: 22

На самом деле не совсем они равны.
Например в Действии после добавления видна только $msgID , а в действии после изменения/включения/выключения видна только $message.

Так какое же здесь равенство?
18.02.2009, 09:15
Ответить | Цитировать
xsite
Веб-студия XSite

Зарегистрирован:
2005-12-01
Сообщений: 19

WULTREX писал(а):
На самом деле не совсем они равны.
Например в Действии после добавления видна только $msgID , а в действии после изменения/включения/выключения видна только $message.

Так какое же здесь равенство?

Речь идет о действии после добавления. Там они равны.
198 196 2009-02-18 09:15:33 7652
Описание проекта