如何从表中执行计数,然后使用PHP显示计数值?

如何从表中执行计数,然后使用PHP显示计数值?

问题描述:

目前我有两张表A和B.DID是由用户输入到一个输入中,并且这是我的程序中的第一个提示,用于输入DID。如何从表中执行计数,然后使用PHP显示计数值?

A包含PID,DID和MaxOccupancy。 PID是专业ID,DID是部门ID。 B包含CID,DID和PID。 CID是客户端ID,DID和PID是相同的。

我将数据从第一个表格输出到一个显示所有数据的html表格中。

但是,我无法从表2中计算PID的数量。我已经$countB= mysql_query ("select count (PID) from B where DID=('$_POST[DID])");

我然后写

while($row = mysql_fetch_array($countB)) 
    { 
    echo "Current occupancy:".$row['count(PID)'].; 
    } 

有人能帮助我吗?我如何做一个在我的查询计数的地方,以获得用户在输入框中输入DID的内容?我完全错了吗?

THANkS!

+0

'where DID =('$ _ POST [DID])'包含一个流浪的单引号。另外,请查看[mysql_real_escape_string](http://php.net/manual/en/function.mysql-real-escape-string.php)。 – Herbert 2012-04-25 00:21:43

尝试

$countB= mysql_query (sprintf("SELECT COUNT(PID) as total FROM B WHERE DID=('%s')",mysql_real_escape_string($_POST['DID']))); 
$row = mysql_fetch_array($countB); 
echo $row['total'] ; 

注..总是筛选SQL注入

可以为COUNT的结果,你可以在PHP访问创建别名:

mysql_query ("select count (PID) as PIDcount from B where DID=('$_POST[DID])"); 
// then reference it later 
$row['PIDcount']; 

查询中$_POST[DID]的用法同样取决于SQL Injection