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

an_kalinovski

Новичок
Автор оригинала: Фанат
когда ты читал документацию про mysql_query - где там было написано, что она возвращает тебе 1?
Я подумал, что это риторический вопрос. Лишний раз напомнить мне что я в пхп полный самовар. Навряд ли Вам интересно узнать где пишут такую документацию и ответ вам известен - такого я нигде не читал. Еще раз извините, я не хотел ни с кем поругаться - я просто спросил... по губам не бейте я на флейте играю... :cool:)

-~{}~ 20.09.05 16:06:

Автор оригинала: Фанат
это недоумение.
а зачем это всё проделывать?
Когда я писал это часа в три ночи были какие-то аргументы к этому... Сейчас вспомнить не могу... Подумаю еще раз "на трезвую голову", может и вправду незачем...
 

440hz

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

так легче программировать. получил все, что надо. запихал в базу и ни жжуужжуу ..

при записи картинки в файл нужно как минимум ее сохранить. получить имя файла (к примеру), а в базу записать линк. тогда, при генерации страницы будут просто отдаваться линки на нужные картинки и нагрузка с базы ляжет на веб-сервр.

по уму надо хранить просто id картинки и ее тип, а урл формировать на основании этих данных, хотя решений может быть много.
 

Фанат

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

И почему ты не сделал обычным порядком?
Это ведь не первый запрос, запрос, который ты обрабатываешь? Почему ты не стал делать как обычно, а написал так?
 

antson

Новичок
Партнер клуба
$flag_update=.f.;
$query = "select 1 from tbl where id='123";
$BD = @mysql_connect($dtbase_host, $dtbase_user ,$dtbase_passw )
or die("проблемы с подключением к sql серверу! <br><b>Error message:</b>".mysql_error());

@mysql_select_db($dtbase_bdname, $BD ) or die("не смогла выбрать database <br><b>Error message:</b>".mysql_error());
$result = mysql_query($query,$BD ) or die ("Invalid query [$query]:".mysql_error() );

if($row=mysql_fetch_object($result)){
$flag_update=.t.;
}
@mysql_free_result($result);
 

an_kalinovski

Новичок
Фанат...

Я нигде не читал, что она возвращает 1. Я читал что она возвращает результат запроса. По моему разумению результатом запроса ... COUNT... должна была быть единица. Я облажался, можно я больше не буду отнимать ваше драгоценное время? Мне самому неприятно, что пришлось прибегнуть к посторонней помощи, я этого очень не люблю..
 

antson

Новичок
Партнер клуба
an_kalinovski
разберись почему в этом куске
1)строка $query может иметь вид select 1 from tbl
2) на основании чего применяеться решение присвоить флагу обновления значение истина
 

an_kalinovski

Новичок
Автор оригинала: antson
$flag_update=.f.;
$query = "select 1 from tbl where id='123";
$BD = @mysql_connect($dtbase_host, $dtbase_user ,$dtbase_passw )
or die("проблемы с подключением к sql серверу! <br><b>Error message:</b>".mysql_error());

@mysql_select_db($dtbase_bdname, $BD ) or die("не смогла выбрать database <br><b>Error message:</b>".mysql_error());
$result = mysql_query($query,$BD ) or die ("Invalid query [$query]:".mysql_error() );

if($row=mysql_fetch_object($result)){
$flag_update=.t.;
}
@mysql_free_result($result);
Спасибо и Вам antson, обязательно попробую...
 

Фанат

oncle terrible
Команда форума
По моему разумению результатом запроса ... COUNT... должна была быть единица.
то есть, результатом запроса select id from Table
тоже будет число?
а если запросить select name from Table - то результатом будет строка?

послушай, у тебя проблемы с самооценкой?
почему ты думаешь, что тебя хотят унизить или оскорбить?
Начал с извинений, вместо того, чтобы проблему описать, сейчас тоже маешься.
Тебе не приходило в голову, что вопросы тебе могут задавать, чтобы ПОМОЧЬ? а нче чтобы унизить?
Если тебе будет легче, то такие вопросы, как твои, здесь задают 50% людей.
И ничего - никто со стыда пока не умер.

постарайся не видеть в том, что тебе пишут, того, чго там нет.
Если тебе задали вопрос, то надо на него отвечать. а не рефлексировать "а почему меня спросили???? ой, наверное глупость сказал!!!"
 

an_kalinovski

Новичок
Автор оригинала: Фанат
то есть, результатом запроса select id from Table
тоже будет число?
а если запросить select name from Table - то результатом будет строка?
Нет - он возвращает просто выборку, которую можно обрабатывать как хочешь дальше, например через mysql_result.

Автор оригинала: Фанат
послушай, у тебя проблемы с самооценкой?
Никаких проблем нет с этим. Я амбициозный самоуверенный сноб :cool:) . Но когда я в чем-то не разбираюсь, предпочитаю спрашивать аккуратно.
 

an_kalinovski

Новичок
Автор оригинала: Фанат
тебе, всё-таки, следует прочеть описание этой функции в документации.

и этой - тоже
Сорри, конечно, mysql_query возвращает не саму выборку указатель на результат запроса.

А вот mysql_result возвращает содержимое конкретной ячейки результата запроса - что я тут не так сказал?
 

Фанат

oncle terrible
Команда форума
я разве сказал, что ты что-то не так сказал?
у тебя фатнастическая способность читать между строк.
ты не мог бы сделать мне одолжение? На время мнашего с тобой общения читать ТО, ЧТО НАПИСАНО?
 

an_kalinovski

Новичок
OK, договорились. Я только в начале пути, так что общаться еще придется, если ты этого захочешь.
 

Фанат

oncle terrible
Команда форума
итак, по поводу использования mysql_query, как я понял по косвенным признакам, ты понял свою ошибку и понял, как пользоваться этоё функцией.
прочитал ли ты документацию по mysql_result?
 

an_kalinovski

Новичок
Да. Прочитал.

Вот мое её понимание:

tbl

--------------------------------------------------
name | name_1 | name_2 | name_3 |
---------------------------------------------------
age | 38 | 23 | 27 |
--------------------------------------------------
...
$result = mysql_query("SELECT * FROM tbl")
or die("Не шмогла : . mysql_error());

echo mysql_result($result,2, name); // возвращает значение поля name из третьей ячейки выборки - т.е. "name_3"
 

440hz

php.ru
Автор оригинала: an_kalinovski
Вот мое её понимание:
echo mysql_result($result,2, name); // возвращает значение поля name из третьей ячейки выборки - т.е. "name_3"
а если при выборке 3 записи вернулось? 8)
 
Сверху