|
|
|
| В статье о постраничной навигации приведен пример
// Определяем общее число записей в базе данных
$result = mysql_query("SELECT COUNT(*) FROM post");
$posts = mysql_fetch_row($result);
|
Но функция mysql_fetch_row() возвращает массив, а не кол-во записей, так что получается ошибка. Как же тогда использовать COUNT или не заморачиваться и воспользоваться функцией mysql_num_rows() | |
|
|
|
|
|
|
|
для: PantiL
(02.05.2006 в 09:07)
| |
<?
$sql = "SELECT COUNT(*) FROM table";
$r_sql = mysql_query($sql);
if ($r_sql) $mycount = mysql_result($r_sql, 0);
echo "Количество записей: ".$mycount;
?>
|
| |
|
|
|
|
|
|
|
для: Boss
(02.05.2006 в 10:51)
| | Зачем так много переменных и лишние проверки? Все это можно компактно оформить в одну строку:
<?
echo mysql_result(mysql_query("SELECT COUNT(*) FROM table"),0);
?>
|
| |
|
|
|
|
|
|
|
для: Евгений Петров
(02.05.2006 в 12:43)
| | Это хорошо когда у вас статичный запрос, а ну как он формируется из десятка переменных, как вы его будете в такой конструкции отлаживать? | |
|
|
|
|
|
|
|
для: Loki
(02.05.2006 в 13:49)
| | В данном случае запрос как раз и был статичный, хот я все равно не вижу смысла скажем в такой конструкции:
<?
$query = "SELECT id,name,parent FROM $query_tbl WHERE $where AND id = '$id' ORDER BY $order_field LIMIT $num";
$result = mysql_query($query);
if($result)
{
...
}
?>
|
когда можно написать проще:
<?
if($result = mysql_query("SELECT id,name,parent FROM $query_tbl WHERE $where AND id = '$id' ORDER BY $order_field LIMIT $num"))
{
...
}
?>
|
Причем от if тоже можно избавиться...
Зачем создавать лишние переменные? ИМХО никакого удобства в отладке они не несут... | |
|
|
|
|
|
|
|
для: Евгений Петров
(02.05.2006 в 12:43)
| | Лишнии проверки никогда не помешают... | |
|
|
|
|
|
|
|
для: Boss
(02.05.2006 в 15:13)
| | В том то и дело что они ЛИШНИЕ...
Посудите сами, конструкция:
не сработает только в том случае, если либо запрос неверный (в данном случае он статичен и всега юудет верным), либо MySQL недоступен (в этом случае этот запрос вообще не должен выполнятся, т.к. работа сценария должна быть прервана раньше ещё на этапе соединения с MySQL) | |
|
|
|
|
|
|
|
для: Евгений Петров
(02.05.2006 в 15:18)
| | Ну сервер ничего никому не обязан, так что отвалится может в любой момент (в том числе и в процессе выполнения скрипта).
Но вы правы: я все эти штуки давно вынес в отдельную функцию - код при этом сильно сокращается... Сейчас возникла мысль о том, что надо бы к этой функции режим отладки прикрутить:) | |
|
|
|
|
|
|
|
для: Евгений Петров
(02.05.2006 в 15:18)
| | Смысл в том что мы проверяем успешность выполнения запроса.
мы проверяем:
if ($r_sql)
{
// успешное выполнение запроса.
}
else echo "Сервер не доспутен";
Вообще это называется стиль программирования, у каждого он свой, так что спор здесь утопителен. | |
|
|
|
|
|
|
|
для: Boss
(02.05.2006 в 15:36)
| | Ну конкретно про эту проверку, да, действительно, это у каждого стиль такой, но когда дело о новых переменных я не могу сидеть молча :). | |
|
|
|