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

上面的代码只有在我们输入 count(id) 时才有效,但我想获取所选变量的计数。如何id='$id'在计数功能中插入它不起作用请帮助相关。

4

6 回答 6

2

你想在你的 sql 查询中有一个 where 子句,我相信它看起来像这样:

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

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


警告

您的代码容易受到sql 注入的影响,您需要全部转义get,更好的方法是使用Prepared 语句postrequest

好读

  1. 如何防止 PHP 中的 SQL 注入?
  2. PDO 准备好的语句是否足以防止 SQL 注入?

笔记

  1. 整个ext/mysqlPHP 扩展提供了所有以 mysql_ 为前缀的函数,从 PHP v5.5.0 开始正式弃用,并将在未来删除。所以使用PDO或者MySQLi

好读

  1. 不推荐使用 mysql 扩展并将在将来删除:请改用 mysqli 或 PDO
  2. MySQL 开发人员的 PDO 教程
  3. Pdo 初学者教程
于 2013-08-18T05:12:12.527 回答
0

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

于 2013-08-18T05:11:14.440 回答
0

$id获取值$_GET['id']

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

于 2013-08-18T05:11:15.430 回答
0

问题中您实际上要做什么还不清楚。但是,如果您要计算行数,那么简单select count(*) as Total where {your condition} from table会为您做。

于 2013-08-18T05:12:41.570 回答
0

以下应该有效:

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

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

于 2013-08-18T05:15:38.583 回答
0

计数可以如下使用

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

阅读 Count.For 在计数中插入 id 的 PHP 手册中的文档:

$result = mysql_query('SELECT COUNT(id) FROM clients'); 
$count = mysql_result($result,0); 
echo $count;
于 2013-08-18T05:25:21.770 回答