如何在count()函数中插入变量?

时间:2013-08-18 05:06:14

标签: php sql count

$id = $_GET['id'];
$result = mysql_query("select Count(id='$id') As Total from topics"); 

上面的代码只有在我们输入count(id)但我想得到所选变量的计数时才有效。如何在计数功能中插入id='$id'它不起作用请帮助解决这个问题。

6 个答案:

答案 0 :(得分:2)

你想在sql查询中使用where子句,我相信它看起来像这样:

select count(id) As Total from topics where id='$id'

注意:根据您对id字段的列类型,您可能需要删除单引号。


警告

您的代码容易受sql injection攻击,您需要撤消所有getpostrequest,更好的方法是使用Prepared statement

好读

  1. How to prevent SQL injection in PHP?
  2. Are PDO prepared statements sufficient to prevent SQL injection?
  3. 注意

    1. 整个 ext/mysql PHP扩展程序(提供名为mysql_的所有函数)为officially deprecated as of PHP v5.5.0,将来会被删除。因此,请使用PDOMySQLi
    2. 好读

      1. The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
      2. PDO Tutorial for MySQL Developers
      3. Pdo Tutorial For Beginners

答案 1 :(得分:0)

您的问题不是很明确,但也许您正在寻找COUNT CASE WHEN id = $id THEN 1 ELSE 0 END(您甚至可以跳过我认为的ELSE 0部分。)

答案 2 :(得分:0)

$id获取$_GET['id']

的值

如果您需要其他数据,请使用$id="your data here"

答案 3 :(得分:0)

你真正想要做的是在问题中还不清楚。 但是如果你想计算行数,那么简单的select count(*) as Total where {your condition} from table将为你做。

答案 4 :(得分:0)

以下内容应该有效:

$id = $_GET['id'];
$result = mysql_query("SELECT COUNT(`" . $id . "`) AS `Total` FROM `Topics`");

但请注意,这不是很安全,因为它很容易受到SQL注入攻击。

答案 5 :(得分:0)

计数可以如下使用

<?php
$shoes=array("nike","puma","lancer");
echo count($shoes);
?>

阅读关于Count.For在count中插入id的PHP手册中的文档:

$result = mysql_query('SELECT COUNT(id) FROM clients'); 
$count = mysql_result($result,0); 
echo $count;