选择数据库列中的值数

时间:2014-08-02 04:07:37

标签: php mysql sql

我有一个名为palettes的mySQL表,我想返回表中的链接数。基本上,我想返回link列中的值数。 (在这种情况下,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,对吧?从列link

中选择

这就是我的表格:

enter image description here

2 个答案:

答案 0 :(得分:1)

将WHERE子句与LIKE' 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

现在你可以试试这个:

include 'mysql.php';
$select_rows = mysqli_num_rows(mysqli_query($cxn, "SELECT id FROM palettes WHERE link LIKE 'http%'"));

echo $select_rows; //Should = 6

答案 1 :(得分:0)

如果您没有链接,我会说假的地方为:

您可以通过使Link列默认允许NULL来实现。在这种情况下,您可以使用COUNT(链接)。建议这样做。

如果你必须有空字符串而不是NULL。

select sum(if(Link != "",1,0)) counting from palettes;

或者,如果您可以确保所有链接都以http / https

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