Я могу получить как значение, так и строку результата запроса mysql.
Но я изо всех сил пытаюсь получить единственный результат запроса. например:
$result = mysql_query("SELECT COUNT(*) FROM Students;");
Мне нужен результат для отображения. Но я не получаю результата.
Я пробовал следующие методы:
mysql_fetch_assoc()
mysql_free_result()
mysql_fetch_row()
Но показать (получить) реальное значение не удалось.
Ответы:
Вам необходимо создать псевдоним агрегата с помощью
as
ключевого слова, чтобы вызвать его изmysql_fetch_assoc
$result=mysql_query("SELECT count(*) as total from Students"); $data=mysql_fetch_assoc($result); echo $data['total'];
источник
Если вам нужно только значение:
$result = mysql_query("SELECT count(*) from Students;"); echo mysql_result($result, 0);
источник
echo mysql_result(mysql_query("SELECT count(*) from Students;"),0);
сохраняет одну ненужную переменную$result = mysql_query("SELECT COUNT(*) AS `count` FROM `Students`"); $row = mysql_fetch_assoc($result); $count = $row['count'];
Попробуйте этот код.
источник
Пожалуйста, начните использовать PDO.
mysql_ * устарел в PHP 5.5.0 и будет полностью удален в 7. Давайте упростим обновление и начнем использовать его сейчас.
$dbh = new \PDO($dsn, $user, $password); $sth = $dbh->prepare('SELECT count(*) as total from Students'); $sth->execute(); print_r($sth->fetchAll());
источник
$num_result = mysql_query("SELECT count(*) as total_count from Students ") or exit(mysql_error()); $row = mysql_fetch_object($num_result); echo $row->total_count;
источник
вот код для отображения количества строк в таблице с PHP
$sql="select count(*) as total from student_table"; $result=mysqli_query($con,$sql); $data=mysqli_fetch_assoc($result); echo $data['total'];
источник
AS
здесь, вместо того, чтобы печататьecho $data['count(*)'];
Для пользователей mysqli код будет выглядеть так:
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); $result = $mysqli->query("SELECT COUNT(*) AS Students_count FROM Students")->fetch_array(); var_dump($result['Students_count']);
или:
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); $result = $mysqli->query("SELECT COUNT(*) FROM Students")->fetch_array(); var_dump($result[0]);
источник
$howmanyuser_query=$conn->query('SELECT COUNT(uno) FROM userentry;'); $howmanyuser=$howmanyuser_query->fetch_array(MYSQLI_NUM); echo $howmanyuser[0];
после стольких часов отлично :)
источник
$abc="SELECT count(*) as c FROM output WHERE question1=4"; $result=mysqli_query($conn,$abc); if($result) { while($row=mysqli_fetch_assoc($result)) { echo $row['c']; } }
В этом его подсчете количество вхождений в столбце question1, его работа полностью
источник
$result = mysqli_query($conn, "SELECT COUNT(*) AS `count` FROM `Students`"); $row = mysqli_fetch_array($result); $count = $row['count']; echo'$count';
источник
С mysql v5.7.20 вот как я смог получить количество строк из таблицы с помощью PHP v7.0.22:
$query = "select count(*) from bigtable"; $qresult = mysqli_query($this->conn, $query); $row = mysqli_fetch_assoc($qresult); $count = $row["count(*)"]; echo $count;
Третья строка вернет структуру, которая выглядит так:
array(1) { ["count(*)"]=>string(4) "1570" }
В этом случае завершающий оператор эха вернет:
1570
источник
Я думаю, что в вашем коде есть опечатка, и вам следует удалить предпоследнюю точку с запятой в:
$result = mysql_query("SELECT COUNT(*) FROM Students;");
источник
Вам необходимо создать псевдоним агрегата с помощью
as
ключевого слова, чтобы вызвать его изmysqli_fetch_assoc
$result=mysqli_query($conn,"SELECT count(*) as total from Students"); $data=mysqli_fetch_assoc($result); echo $data['total'];
источник
$db = new PDO('mysql:host=localhost;dbname=java_db', 'root', '') or die(mysql_errno()); $Sql = "SELECT count(*) as 'total' FROM users"; $stmt = $db->query($Sql); $stmt->execute(); $data = array(); $total = $stmt->fetch(PDO::FETCH_ASSOC); print '<pre>'; print_r($total); print '</pre>';
источник
Думаю, это лучший ответ.
$query = "SELECT count(*) AS total FROM table_name"; mysql_select_db('database_name'); $result = mysql_query($query); $values = mysql_fetch_assoc($result); $num_rows = $values['total']; echo $num_rows;
источник
может быть вам полезно:
$checkValid = "SELECT COUNT(*) as total FROM ". $this->db_table ." WHERE UserName = ?"; $stmt = $this->conn->prepare($sqlQuery); $stmt->bindParam(1, $this->UserName); $stmt->execute(); $dataRow = $stmt->fetch(PDO::FETCH_ASSOC); $total = $dataRow["total"];
источник
$qry_appr = "SELECT COUNT(*) FROM comments WHERE admin_panel_id ='$id' AND status = 'ON'"; $qry_data = mysqli_query($con, $qry_appr); $approve_count = mysqli_fetch_array($qry_data); $toatalCount = array_shift($approve_count); echo $toatalCount;
Это тоже будет хорошо, но это то, что возвращает значение индекса 0, сдвигая массив выборки. Добро пожаловать
источник
Из ряда вариантов этот не упоминался. Даже если это не оптимально или не нужно, но это можно сделать с помощью простого цикла:
$result=mysqli_query($conn, "SELECT count(1) as total from Students"); foreach ($result as $rez) {$numb=$rez['total'];} echo $numb;
источник
mysql_
функции - даже если этот старый вопрос использует их. В моей среде IDE будет флаг, указывающий, что он$numb
не может быть объявлен. Использование петли уже было сделано PushkarPokharkar, но опять же в этом нет необходимости. Я сделаю свой вклад, чтобы помочь исследователям, используя методы голосования против, которые я не рекомендую.Если вам нужно только значение счетчика, вы можете сократить:
$cnt = mysql_num_rows(mysql_query('select * from students'));
источник