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

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

-~{}~ 20.09.05 16:06:

Автор оригинала: Фанат
это недоумение.
а зачем это всё проделывать?
Когда я писал это часа в три ночи были какие-то аргументы к этому... Сейчас вспомнить не могу... Подумаю еще раз "на трезвую голову", может и вправду незачем...
 
Автор оригинала: an_kalinovski
Это что шутка такая или совет бывалого. Можно мотивировать? Я файл сохраняю в базу, а при обращении к объекту (т.е. при необходимости) вычитываю в файл и на страницу подгружаю как обычный гиф. Я неправильно делаю?

бывалые тут другие, а так ... тоже Новичок.

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

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

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

И почему ты не сделал обычным порядком?
Это ведь не первый запрос, запрос, который ты обрабатываешь? Почему ты не стал делать как обычно, а написал так?
 
$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);
 
Фанат...

Я нигде не читал, что она возвращает 1. Я читал что она возвращает результат запроса. По моему разумению результатом запроса ... COUNT... должна была быть единица. Я облажался, можно я больше не буду отнимать ваше драгоценное время? Мне самому неприятно, что пришлось прибегнуть к посторонней помощи, я этого очень не люблю..
 
an_kalinovski
разберись почему в этом куске
1)строка $query может иметь вид select 1 from tbl
2) на основании чего применяеться решение присвоить флагу обновления значение истина
 
Автор оригинала: 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, обязательно попробую...
 
По моему разумению результатом запроса ... COUNT... должна была быть единица.
то есть, результатом запроса select id from Table
тоже будет число?
а если запросить select name from Table - то результатом будет строка?

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

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

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

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

А вот mysql_result возвращает содержимое конкретной ячейки результата запроса - что я тут не так сказал?
 
я разве сказал, что ты что-то не так сказал?
у тебя фатнастическая способность читать между строк.
ты не мог бы сделать мне одолжение? На время мнашего с тобой общения читать ТО, ЧТО НАПИСАНО?
 
OK, договорились. Я только в начале пути, так что общаться еще придется, если ты этого захочешь.
 
итак, по поводу использования mysql_query, как я понял по косвенным признакам, ты понял свою ошибку и понял, как пользоваться этоё функцией.
прочитал ли ты документацию по mysql_result?
 
Да. Прочитал.

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

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