Php 选择“数据库”列中的值数

Php 选择“数据库”列中的值数,php,mysql,sql,Php,Mysql,Sql,我有一个名为paletes的mySQL表,我想返回表中的链接数。基本上,我想返回链接列中的值的数量。(在本例中,6) 我试着使用这个代码,但是没有用。我是一名前端开发人员,不懂php或其他任何东西 include "mysql.php"; $select_rows = $mysqli->query("SELECT COUNT(link) FROM palettes"); $rows = mysqli_fetch_array($select_rows); $total = $rows[0];

我有一个名为
paletes
的mySQL表,我想返回表中的链接数。基本上,我想返回
链接
列中的值的数量。(在本例中,
6

我试着使用这个代码,但是没有用。我是一名前端开发人员,不懂php或其他任何东西

include "mysql.php";
$select_rows = $mysqli->query("SELECT COUNT(link) FROM palettes");
$rows = mysqli_fetch_array($select_rows);
$total = $rows[0];
echo $total;
上面的代码应该是或回显的
6
,对吗?从列
链接中选择

这就是我的桌子的样子:


将WHERE子句与类似的“http%”一起使用,并将查询更改为符合以下条件的计数id:

首先,我假设您的文件“mysql.php”与文件中某个位置的数据库有连接,如下所示:

<?php
if (session_status() !== PHP_SESSION_ACTIVE) {session_start();}

$hostname = 'localhost';
$dbname   = 'myDatabaseName';
$username = 'admin';
$password = 'myPassword';

$cxn = mysqli_connect($hostname, $username, $password, $dbname) or DIE('Connection to host is failed, perhaps the service is down!');

?>//End connect.php

如果您没有可用的链接,我会说放置NULL:

您可以通过将链接列设置为默认允许NULL来实现这一点。在这种情况下,可以使用计数(链接)。建议这样做

如果必须使用空字符串而不是空字符串

select sum(if(Link != "",1,0)) counting from palettes;
或者,如果您可以确保所有链接都以http/https开头

select sum(if(Link like "http%",1,0)) counting from palettes;

是空值
NULL
还是空字符串
COUNT
忽略
NULL
,但计算长度为零的字符串。如果每个链接都是http站点,我将使用WHERE子句,并将查询更改为适合的COUNT id:$select_rows=mysqli_num_rows(mysqli_查询($cxn,“从选项板中选择id,其中链接类似于“http%”);空值为
NULL
。它是表单中的可选字段。也许是一个if声明?如果列链接有值,则计算它们。它也可以是https。因此,您是否会从选项板中选择id,其中的链接类似于“http%”| |类似于“https%”
无需说明“or”:%是类似MySQL语句的通配符谢谢!让它发挥作用。只需将
id
更改为
count(id)
包含“mysql.php”$选择_rows=$mysqli->query(“从链接不为NULL的选项板中选择链接”)$rows=mysqli\u fetch\u数组($select\u rows)$总计=$行[0];echo$总计
似乎返回了所有的值,但是我如何获得值的数量,而不是实际值?正如您所说的值不是空值,它们是空字符串,对吗?您的NOTNULL条件每次都失败。空的是
NULL
,抱歉:Pwell,您确定吗?看起来不像。如果它们的值为NULL,则必须直接使用COUNT。此外,NULL将可见,而不是空的空格
select sum(if(Link like "http%",1,0)) counting from palettes;