Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将COUNT()理解为“COUNT”`_Php_Mysql_Login_Count - Fatal编程技术网

Php 将COUNT()理解为“COUNT”`

Php 将COUNT()理解为“COUNT”`,php,mysql,login,count,Php,Mysql,Login,Count,我目前正在学习如何用PHP MySQL构建网站。然而,我似乎无法理解COUNT()作为COUNT,也不介意做进一步的解释 我得到了COUNT,0 | 1的原理,以及它如何返回与该查询相关的所有值 但是,我不知道COUNT as COUNT是如何工作的。无论如何,我写的代码就是这样的——所以我们有一个工作示例——我第一次感到困惑的地方 "SELECT COUNT(id) as count, id FROM user WHERE email='$email' AND password='".md

我目前正在学习如何用PHP MySQL构建网站。然而,我似乎无法理解COUNT()作为COUNT,也不介意做进一步的解释

我得到了
COUNT
0 | 1
的原理,以及它如何返回与该查询相关的所有值

但是,我不知道COUNT as COUNT是如何工作的。无论如何,我写的代码就是这样的——所以我们有一个工作示例——我第一次感到困惑的地方

"SELECT COUNT(id) as count, id
 FROM user
 WHERE email='$email' AND password='".md5$password."'"
使用,可以计算结果集返回的行数。此外,还提供了有关以下内容的官方MySQL文档:

数据库通常用于回答“某类数据在表中出现的频率”的问题,例如,您可能想知道您有多少宠物,或者每个主人有多少宠物,或者您可能想对您的动物执行各种普查操作

计算你拥有的动物总数与“宠物表中有多少行?”的问题相同,因为每只宠物有一条记录。COUNT(*)计算行数,因此用于计算动物数的查询如下所示:

从pet中选择计数(*)

带有
作为计数的部分
表示此列将获得一个名称,您可以在PHP中使用该名称。另请参见以下说明:

可以使用别名为表或列指定其他名称。如果您有非常长或复杂的表名或列名,这是一件好事

别名可以是任何名称,但通常很短

使用,可以计算结果集返回的行数。此外,还提供了有关以下内容的官方MySQL文档:

数据库通常用于回答“某类数据在表中出现的频率”的问题,例如,您可能想知道您有多少宠物,或者每个主人有多少宠物,或者您可能想对您的动物执行各种普查操作

计算你拥有的动物总数与“宠物表中有多少行?”的问题相同,因为每只宠物有一条记录。COUNT(*)计算行数,因此用于计算动物数的查询如下所示:

从pet中选择计数(*)

带有
作为计数的部分
表示此列将获得一个名称,您可以在PHP中使用该名称。另请参见以下说明:

可以使用别名为表或列指定其他名称。如果您有非常长或复杂的表名或列名,这是一件好事

别名可以是任何名称,但通常很短

如果运行此sql:

SELECT COUNT(id), id ....
(在执行*_fetch_assoc之后)您将获得
$row['numberofrecordshere']
,这将很难回送(或用于比较),除非您知道将有多少条记录(无论如何,这将破坏此结果的目的)

将其作为计数返回允许您使用
$row['count']

在结果数组中访问它,如果您运行以下sql:

SELECT COUNT(id), id ....
(在执行*_fetch_assoc之后)您将获得
$row['numberofrecordshere']
,这将很难回送(或用于比较),除非您知道将有多少条记录(无论如何,这将破坏此结果的目的)


将其返回为count允许您使用
$row['count']
作为count在结果数组中访问它,因为count
只是一个别名。您可以对所选的任何字段或方法使用
作为
。这意味着您要更改数据集中返回的列的名称

SELECT `field` as another_name
因此:

只需将列从
COUNT(*)
重命名为
COUNT
,就可以更轻松地处理正在上载结果集的任何位置

它还便于在当前查询中进行访问。许多人会使用大型表名执行以下操作:

SELECT * FROM `table_with_ridiculous_name` as twrn WHERE twrn.id = 1

as count
只是一个别名。您可以对所选的任何字段或方法使用
作为
。这意味着您要更改数据集中返回的列的名称

SELECT `field` as another_name
因此:

只需将列从
COUNT(*)
重命名为
COUNT
,就可以更轻松地处理正在上载结果集的任何位置

它还便于在当前查询中进行访问。许多人会使用大型表名执行以下操作:

SELECT * FROM `table_with_ridiculous_name` as twrn WHERE twrn.id = 1

这就是所谓的别名,有时用于向用户或调用代码显示更吸引人的列标题

SELECT COUNT(`id`) as `count`....
将打印

count
--------
5
作为列标题而不是任意字符串的别名:

从小提琴上你可以看到标题栏看起来有点像

count(*)
--------
5

这就是所谓的别名,有时用于向用户或调用代码显示更吸引人的列标题

SELECT COUNT(`id`) as `count`....
将打印

count
--------
5
作为列标题而不是任意字符串的别名:

从小提琴上你可以看到标题栏看起来有点像

count(*)
--------
5

请注意:请注意转义注入查询的变量。看起来您的代码对“sql注入”非常开放。最好是使用类似PDO的解决方案,而不是尝试重新设计转义策略。感谢您的提示,我将在函数中真正转义电子邮件,md5没有-right就可以了。请注意:请注意转义您注入查询中的变量。看起来您的代码对“sql注入”非常开放。最好是使用PDO这样的解决方案,而不是试图重新发明一种转义策略。感谢您的提示,我将在函数中真正转义电子邮件,md5没有-对也可以。我认为问题也涉及到
as count
部分。这意味着您可以将结果引用为
count
!?我加了一句话。然而,我没有在官方网站上找到更好的解释。我会继续找的。我想问题是把
as count
部分也提到了。这意味着你可以