Php 为什么此SQL查询语法不正确?
我正试图从MySQL数据库中检索一些视频信息,并通过Php 为什么此SQL查询语法不正确?,php,mysql,Php,Mysql,我正试图从MySQL数据库中检索一些视频信息,并通过$\u GET[“v”]请求和MySQL查询“如下所示”进行搜索: 这就是我得到的错误: Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '--data WHERE v = '5JxC0plA3
$\u GET[“v”]
请求和MySQL查询“如下所示”进行搜索:
这就是我得到的错误:
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '--data WHERE v = '5JxC0plA3kz'' at line 1
这个错误怎么可能呢?首先,PHP和SQL是完全不同的语言。这个问题从一开始就与PHP完全无关 关于SQL语法,本章提供了完整的概述,但具体违反了以下内容: 标识符可以带引号或不带引号。如果标识符包含 特殊字符或是保留字,您必须随时引用它 你指的是它 。。。以及: 。。。因此,不允许在无引号的标识符中使用
-
。引用一下:
标识符引号字符是反勾号(“`”):
(也许下次你可以在命名东西时使用更实用的名称,这样就不必每次都引用它们了。)将
vid--data
包装在``表名中不允许使用的空格作为vid--dataRead这就是为什么不使用的原因如果不允许使用--
,他将如何创建表?也许把这个表名放在后面。
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '--data WHERE v = '5JxC0plA3kz'' at line 1
Permitted characters in unquoted identifiers:
ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
Extended: U+0080 .. U+FFFF
mysql> SELECT * FROM `select` WHERE `select`.id > 100;