![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Shadex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 23.5.2005 Репутация: нет Всего: 1 |
вот запрос инсерт в таблицу files, ID_files у которой AUTO_INCREMENT тогда почему $new_id = $sth -> {insertid}; - ничего не возвращает? может я что-то неправильно делаю? |
|||
|
||||
| Ivan Kolesnikov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 9.3.2005 Где: г. Новокузнецк Репутация: 3 Всего: 6 |
Насколько я знаю, при изменении (добавлении, удалении) данных не возвращается что именно изменилось, вовращается только количество измененных полей.
А чтобы получить ID нужно найти его SELECTом.
--------------------
|
|||
|
||||
| sharq |
|
||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
Ivan Kolesnikov,
Верно, возращается значение $sth->rows. Чтобы вернуть вставленный id можно обойтись без дополнительного запроса. Например, в MySQL следует вызвать метод
По этому поводу следует почитать perldoc DBD: У DBI есть стандартный метод last_insert_id, смотри perldoc DBI. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||
|
|||||
| Shadex |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 23.5.2005 Репутация: нет Всего: 1 |
вы конечно правы! но я делал по мануалу! почитайте! там написано что в DBI можно получить значение поля, которое изменялось ИНКРЕМЕНТОМ... а получается оно так:
можно еще так:
Ешё у меня новая проблема: почему в одном скрипте CGI - работает соединение с базой и все такое... то есть могу работать с базой... а как только вставляю кусок этого скрипта в другой файл с рабочим скриптом - этот скрипт перстает работать! есть какие то условия ипользования DBI ??? |
||||
|
|||||
| Shadex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 23.5.2005 Репутация: нет Всего: 1 |
всем спасибо я уже разобрался со второй проблемой! почему то use strict; - все портило! может кто-нибудь знает почему? и как этот модуль проверяет ошибки? (ведь он нужен для отслеживания ошибок если я не ошибаюсь? ) может мой код обойтись без него?
|
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
Shadex,
Интерсно, где ты это нашел, можешь привести отрывок! Как я понял ты читал, perldoc DBD::mysql Но там вот что написано:
Надеюсь, понял о чем я strict -не может ничего портить, оно накладывает ограничения, почитай perldoc strict . И я тебе советую везде использовать эту прагму! -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |