Php 查询以选中';函数名解析和解析';参考手册中的章节
有人能给我解释一下这是怎么回事吗Php 查询以选中';函数名解析和解析';参考手册中的章节,php,mysql,Php,Mysql,有人能给我解释一下这是怎么回事吗 SELECT COUNT (`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput' 这是一个程序的一部分,我正在写一个教程,但我挂断了如何解决这个问题。如果有人能告诉我如何解决这个问题,我将不胜感激,并提前向您表示感谢 下面是我看到的错误: 函数myhost_classifieds.COUNT不存在。检查参考手册中的“函数名解析和解析
SELECT COUNT (`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput'
这是一个程序的一部分,我正在写一个教程,但我挂断了如何解决这个问题。如果有人能告诉我如何解决这个问题,我将不胜感激,并提前向您表示感谢
下面是我看到的错误:
函数myhost_classifieds.COUNT不存在。检查参考手册中的“函数名解析和解析”部分
让我感到困惑的是,我在上面有类似的查询,这些查询工作正常,我反复检查了语法,但我看不出有什么问题。更改:
SELECT COUNT (`ID`)
到
空间搞砸了。试试这个
SELECT COUNT(`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput'
^^-------remove space here
这:
函数myhost_classifieds.COUNT不存在。检查参考手册中的“函数名解析和解析”部分
会提示你吗
这导致你改变了这一点:
COUNT (`ID`)
致:
(请注意删除的空格)
(您也可以随意使用,但我不推荐新手使用。MYSQL不喜欢函数名后面的空格。请尝试在计数后去掉空格
我还认为这些变量名只是一个示例,您在生产中没有实际使用它们!我在运行查询时也遇到了同样的问题
SELECT MIN (released_year) FROM books
在那里我遇到了错误
FUNCTION records.MIN does not exist.
Check the 'Function Name Parsing and Resolution' section in the Reference Manual.
但当我删除MIN和(发布年份)之间的空格时,它起了作用,因此正确的答案是:
SELECT MIN(released_year) FROM books
简单地说,据Wrikken所说 要将名称用作表达式中的函数调用,名称和以下字符(括号字符)之间不得有空格 所以这个表达,
SELECT COUNT (`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput'
无法工作,因为计数和()之间有空格。只需删除空格并将其更改为:
SELECT COUNT('ID') ...
可能与您试图将一组变量组合在一起有关。您不应该在查询中使用原始数据而不转义它!使用准备好的/参数化的查询,否则您会发现自己很快被SQL注入攻击。我猜您的问题在这里:
$VarThatHoldsEmailFromA$\u POSTInput
试试看重复这句话,看看它是否正确Hi@Brad你能详细解释一下吗?如果我把一堆变量拼凑在一起,这不是恶意的。一点也不是。我只是一个新手,试图尽我所能学习。解决方法可能很简单,只要去掉COUNT
和(ID)之间的空格
。我们可以看到您完整的PHP/mySQL代码吗?这有什么不对?
SELECT COUNT (`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput'
SELECT COUNT('ID') ...