В скрипте такой запрос:
$stroki=mysql_query("SELECT COUNT(`id`) FROM `tab` WHERE `id`='".(int)$n."'",$a_db);
$stroki_i=mysql_fetch_row($stroki);
if ($stroki_i[0]>0)
{
$a=mysql_query("SELECT `tv` FROM `tab` WHERE `id`='".(int)$nom."' LIMIT 1",$a_db) or die ("ERROR #401(a).".mysql_error());
$a_i=mysql_fetch_assoc($a);
$su=(int)$a_i['tv'];
}
Другими словами сначала идет проверка на наличие строку, а если она есть происходит сам выбор. Место это писал давно, сейчас задался вопросом зачем проверять, когда можно тупо сразу выбрать если на выходе что-то есть кроме "0", то само собой такая строка есть. Проверил с error_reporting(E_ALL) никаких ошибок не показало, однако помню, как на форуме кто-то рекомендовал так не делать.
Вот и думаю почему? Т.е. почему бы сразу не писать запрос с выборкой поля WHERE? Просто не пойму является ли это ошибкоя для MySQL или нет.
Спустя 5 минут, 17 секунд (27.04.2011 - 09:40) inpost написал(а):
Я бы сразу писал SELECT, а проверку записи mysql_num_rows(); ,
Спустя 4 минуты, 53 секунды (27.04.2011 - 09:45) GET написал(а):
inpost
Так примерно:?
Так примерно:?
$a=mysql_query("SELECT `tv` FROM `tab` WHERE `id`='".(int)$nom."' LIMIT 1",$a_db) or die ("ERROR #401(a).".mysql_error());
$a_i=mysql_num_rows($a);
if ($a_i>0)
{
$a_i=mysql_fetch_assoc($a);
$su=(int)$a_i['tv'];
}
Спустя 2 минуты, 40 секунд (27.04.2011 - 09:48) GET написал(а):
Не совсем понимаю смысл в проверке записи...ведь если ее нет, то
$su=(int)$a_i['tv'];будет равен "0"?
Спустя 3 минуты, 58 секунд (27.04.2011 - 09:52) inpost написал(а):
Если записей нет в таблице, то $a_i=mysql_fetch_assoc($a); - вернёт error или warning, поэтому надо проверять.
$a=mysql_query("SELECT `tv` FROM `tab` WHERE `id`='".(int)$nom."' LIMIT 1") or die ("ERROR #401(a).".mysql_error());
if(mysql_num_rows($a)) // 0 = false, не 0 = true!
{
$a_i=mysql_fetch_assoc($a);
}
Спустя 3 минуты, 15 секунд (27.04.2011 - 09:55) GET написал(а):
inpost
Ну у меня правда не возвращает ошибку. Пишет 0.! и все продолжает работать может мускул неправильно настроен на ошибки...гм..
Ну у меня правда не возвращает ошибку. Пишет 0.! и все продолжает работать может мускул неправильно настроен на ошибки...гм..
Спустя 6 минут, 52 секунды (27.04.2011 - 10:02) inpost написал(а):
A.B.C.
Я же говорю, видимо у тебя есть другие записи в таблице. Если бы других не было, появлялась ошибка.
Я же говорю, видимо у тебя есть другие записи в таблице. Если бы других не было, появлялась ошибка.
Спустя 1 час, 25 минут, 52 секунды (27.04.2011 - 11:28) GET написал(а):
inpost
...
понял теперь...спасибо
...действительно я затупил
...
понял теперь...спасибо

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.