Проверка при записи в базу на дублирование

an_kalinovski

Новичок
Проверка при записи в базу на дублирование

Привет.

Почитав темы форума про Дюбуа и прочее, теперь чувствую
себя сейчас человеком который спрашивает - а как a html
страницу вставить картинку, тем не менее, прошу помощи
экспертов.

Есть ассоциативный массив, первый элемент которого - уникальный прикладной ID.
Пользователь ввел данные в форме, они сложились в этот массив и по сабмиту легли в базу.

Вопрос: как проверить наличие поля ID с заданным значением в базе, чтобы проапдейтить его а не заинсертить.

Попробовал нечто такое:
...
$count = mysql_query (SELECT COUNT(*) from tbl WHERE id=123)

if ($count > 0 ) {
...
}

но что-то туфта какая-то выходит...

Большое спасибо, ежели кто подскажет пусть не решение, но ход мыслей...

Спасибо.
 

Фанат

oncle terrible
Команда форума
но что-то туфта какая-то выходит...
это, конечно, исключительно информативное и черезвычайно подробное описание проблемы, да...

-~{}~ 20.09.05 16:21:

контрольный вопрос.
ты делаешь
$count = mysql_query
что возвращает тебе функция mysql_query ?
 

an_kalinovski

Новичок
Сорри. Под туфтой я понимаю несоответствие выхлопа моему пониманию этого запроса. Я считаю, что $count например должен быть равен 1. Вывожу через echo - получаю вроде Resource#3. Прибавляю к результату 1 - получаю 4.
 

440hz

php.ru
Автор оригинала: Фанат
что возвращает тебе функция mysql_query ?
конечно возращает фигу ... 8)

$CNT = mysql_fetch_object(mysql_query (SELECT COUNT(*) AS CNT from tbl WHERE id=123));

if($CNT->CNT) {
// update
} else {
// insert
}
 

Фанат

oncle terrible
Команда форума
an_kalinovski
а когда ты читал документацию про mysql_query - где там было написано, что она возвращает тебе 1?
 

440hz

php.ru
Автор оригинала: an_kalinovski
Сорри. Под туфтой я понимаю несоответствие выхлопа моему пониманию этого запроса. Я считаю, что $count например должен быть равен 1. Вывожу через echo - получаю вроде Resource#3. Прибавляю к результату 1 - получаю 4.
круто! ресурс, он конечно объект и PHP аккуратно прибавит 1, но ...
 

Фанат

oncle terrible
Команда форума
440hz, ты такой умный. Я просто восхищаюсь тобой.
 

an_kalinovski

Новичок
Огромное спасибо, 440hz! Попробую так. А Вы Фанат, грубый и неженственный. :-P
 

440hz

php.ru
Автор оригинала: an_kalinovski
Огромное спасибо, 440hz! Попробую так. А Вы Фанат, грубый и неженственный. :-P
он не грубый он мудрый ... 8) а правда жизни она такая и есть
 

an_kalinovski

Новичок
Все равно спасибо, парни...!! Я думал ждать неделю придется, пока кто ответит а тут не успел нажать кнопку...
 

440hz

php.ru
Автор оригинала: an_kalinovski
Все равно спасибо, парни...!! Я думал ждать неделю придется, пока кто ответит а тут не успел нажать кнопку...
жми на RESET и будет тебе счастье ...
 

alpine

Новичок
an_kalinovski
Вопрос такой: ты делаешь именно update определенных полей или заменяешь существующую запись новой?
 

an_kalinovski

Новичок
Именно UPDATE - у меня уже в базе для этого объекта лежит картинка как BLOB, а юзер например вернулся и заходет поменять к ней подпись.
 

Фанат

oncle terrible
Команда форума
an_kalinovski
да, я грубый и неженственный.
а ты и невежливый.
я тебе, кажется, вопрос задал.

ты считаешь вежливым игнорировать вопросы людей, время которых ты отнимаешь?
 

440hz

php.ru
Автор оригинала: an_kalinovski
Именно UPDATE - у меня уже в базе для этого объекта лежит картинка как BLOB, а юзер например вернулся и заходет поменять к ней подпись.
храни деньги в сберкассе а картинки в файлах
 

Фанат

oncle terrible
Команда форума
когда ты читал документацию про mysql_query - где там было написано, что она возвращает тебе 1?
 

an_kalinovski

Новичок
Автор оригинала: 440hz
храни деньги в сберкассе а картинки в файлах
Это что шутка такая или совет бывалого. Можно мотивировать? Я файл сохраняю в базу, а при обращении к объекту (т.е. при необходимости) вычитываю в файл и на страницу подгружаю как обычный гиф. Я неправильно делаю?
 
Сверху