Вот есть бд пусть будет BAZA конектимся какой запрос надо чтобы выести кол во всех ID ТАМ там ID 1 2 3 4 5 6 7 10 12 13 ВОТ какой запрос надо? $result = mysql_query(...
вот дилемма. то ли сразу по шее надавать, то ли оставить, как есть, и пусть на работающием сайте налетит на грабли. Я думаю, чтл правильнее - второе. Оно действеннее будет
СOUNT это не функция (функция это в РНР) и причём уверен что именно это Maxer сейчас и пытается использовать как ты ему и сказал, а между тем это в корне не правильно... Maxer Под словом COUNT он имел в виду именно COUNT PHP: <?php $result=mysql_num_rows(mysql_query("SELECT COUNT(*) FROM BAZA")); ?>
Оператор это, например, SELECT, INSERT и т.д. http://php.ru/mysql/ - на странице ищем слово "оператор"
Не ссорьтесь, 1. COUNT () в mysql - это математическая функция 2. Оба подхода в подсчете количества кривые потому что запрос идет выборка делается по всем полям * в целях оптимизации, лучше делать выборку по первичному ключу. 3. Если используете COUNT, то опять же в целях оптимизации лучше делать LIMIT 1 4. mysql_num_rows на мой взгляд хуже, потому что php передается указатель на результат выборки всей таблицы, при больших таблицах - это зло. vb
то, что указано в в скобках, большого значения не имеет. там можно писать константу, можно звёздочку, можно ключ. вопрос в том, что написано во where. Если там не первичный ключ, то в скобочках он всё равно не поможет. Что-то это смахивает на перестраховку. не могу себе представить случая, когда это могло бы понадобиться. На самом деле это гораздо хуже, поскольку передаётся таки не указатель, а сами данные. а так всё верно =)
В этом частном случае согласен, особого значения нет. Значение имеет, и не маленькое в сочетании с использованием GROUP BY или DISTINCT. Поэтому в целях дисциплины и избежания глюков при дальнейшем редактировании запроса я всегда указываю поле. Да, согласен, ступил. Понадобится, если мы добавим в выборку поле, хотя конечно к самим агрегатным функциям это не имеет значения. хехе, игра слов да и только $result = mysql_query(...); print_r($result); // Спасибо за комментарии
Приведённый пример не имеет не малейшего отношения к вопросу. это всего лишь синтаксис API. Я говорил не о переменной $result, а о клиенте MySQL Речь идёт о том, где собираются данные - на стороне SQL сервера или на стороне SQL-клиента. И игрой слов это будет только до тех пор, пока клиент и сервер лежат на одной машине. Или до тех пор, пока не станет заметна разница между объёмом памяти, выделенным SQL серверу и веб серверу.
если мы добавим в выборку поле, то количество возвращаемых строк не изменится. Оно изменится только если мы добавим оператор группировки, а это будет уже совсем другой запрос. В общем, я считаю, что это излишняя перестраховка.