PHP: <? $res = mysql_query('SELECT COUNT( * ) AS `Строки` , `ID` FROM `b_user`'); if($res) $row = mysql_fetch_array($res, MYSQL_NUM); $kolvo_userov = !empty($row[0]) ? $row[0] : 0; // echo $kolvo_userov ; ?> Есть вот такой вот код, нашёл на сайте, при вставке его на мой сайт выдаёт значение 0 судя повсему нужно поменять значение Строки` в $res не подскажите какое туда значение подставить?
Используй mysqli /* определяем, существует ли пользователь в базе */ $UserInfo_count = $QueryUserInfo->num_rows; вернет количество строк от запроса к базе
непонял --- Добавлено --- Опробовал непашет сделал вот так $UserInfo_count = $QueryUserInfo->num_rows; echo $UserInfo_count;
Нельзя так делать. А если в таблице мильйон записей? Чтоб узнать количество ты достаёшь всё что есть в таблице? Есть параметр COUNT (*). Он возвращает количество записей (Одно значение, а не мильйон). Потом делаешь fetch_* и достаёшь значение.
Что ниудь готовенькое - не вариант. Тыхочешь выучить php, или пришёл получить готовенькое? Если первый вариант - мы поможем,а если второй - модеры перенесут в тему "Сделайте за меня".
PHP: $query=$db->query("SELECT COUNT(*) as count FROM b_users"); $query->setFetchMode(PDO::FETCH_ASSOC); $row=$query->fetch(); $count=$row['count'];
я сделал то что указал в самом вверху, но как выяснелось это устарело --- Добавлено --- а вывод будет echo $count ?
ошибка Fatal error: Call to a member function query() on a non-object in /home/c/cp81082/public_html/bitrix/templates/main/header.php on line 85
1. Забудь про mysql_*. 2017-й год на дворе. Этот драйвер уже не работает в новых версиях php. Используй mysqli_*, тем более, синтаксис почти не отличается. 2. Я не знаю что людям не нравится в твоём запросе. Я б так и сделал. "SELECT COUNT (*) as `cnt` FROM `users`". (Я думаю что не стоит называть индексы кирилицей). 3. Сделай var_dump ($row) после вызова fetch_array () и посмотри где там нужное значение. (DEBUG!)
PHP: //подключение к базе данных (введи свои параметры) $host = '127.0.0.1'; $db = 'test'; $user = 'root'; $pass = ''; $charset = 'utf8'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; $opt = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; $pdo = new PDO($dsn, $user, $pass, $opt); //сам запрос $query=$pdo->query("SELECT COUNT(*) as count FROM b_users"); $row=$query->fetch(); $count=$row['count']; //выводим результат echo $count;
У меня там запрос по уникальному идентификатору , вернётся или одна или ноль строк, так что не сильно слияет)) и в mysqli описан именно этот счетчик, хотя конечно-же можно и в запросе коунтом посчитать)
А если подключение к БД находится в отдельном файле можно ли как то это всё завизать сним, дабы не писать лишнее
создаешь файл connectdb.php и туда всё подключение, лучше $mysqli потом в файле, где необходимо соединение с БД пишешь require_once("connectdb.php");
Вообщем не получилась так сайт вообще перестаёт работать и начинает ругаться на подключение к БД, хотя я всё верно ввожу