首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关正确语法的MySQL服务器版本,请在第6行使用near‘和epg_data.start'’ORDER BY epg_data.start DESC‘

有关正确语法的MySQL服务器版本,请在第6行使用near‘和epg_data.start'’ORDER BY epg_data.start DESC‘
EN

Stack Overflow用户
提问于 2017-10-18 05:50:27
回答 1查看 68关注 0票数 0

嗨,我一直收到这个错误,它加载了一个页面,非常简单,我不知道它是什么,我知道它说了,但我被难住了,任何帮助都将不胜感激。

您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法,请从第6行的‘'AND epg_ DESC’开始‘’ORDER BY epg_data.start DESC‘’开始

代码语言:javascript
复制
 $query_Recordset1 = "SELECT streams.id, epg_data.lang, epg_data.start, epg_data.end, epg_data.description, streams_sys.stream_status, streams.stream_display_name, streams.stream_icon, epg_data.title AS epg_title
    FROM ((streams_sys
    LEFT JOIN streams ON streams.id=streams_sys.stream_id)
    RIGHT JOIN epg_data ON epg_data.channel_id=streams.channel_id)
    WHERE streams.id=".$_GET["id"]."
AND epg_data.start<NOW()
AND epg_data.end>'".$_GET["time"]."'
ORDER BY epg_data.start DESC";
EN

回答 1

Stack Overflow用户

发布于 2017-10-18 05:56:06

我猜测您的$_GET["id"]没有值,并且您的SQL语句最终包含以下错误:

代码语言:javascript
复制
...WHERE streams.id=  AND epg_data.start<NOW()...

这当然是一个语法错误。

帮你自己一个大忙,停止在SQL查询中插入变量。它对于SQL注入来说是不安全的,更重要的是它太难了。

请改用查询参数:

代码语言:javascript
复制
$query_Recordset1 = "
SELECT streams.id, epg_data.lang, epg_data.start, epg_data.end,
 epg_data.description, streams_sys.stream_status, streams.stream_display_name, 
 streams.stream_icon, epg_data.title AS epg_title
FROM ((streams_sys
LEFT JOIN streams ON streams.id=streams_sys.stream_id)
RIGHT JOIN epg_data ON epg_data.channel_id=streams.channel_id)
WHERE streams.id=?
AND epg_data.start<NOW()
AND epg_data.end>?
ORDER BY epg_data.start DESC";

看见?这就容易多了。不再需要让自己的眼睛疲劳,怀疑你是否正确地关闭了内引号或外引号。只需使用?代替变量即可。不要试图在?周围加上引号。无论参数是数字、字符串还是日期,都无关紧要。

然后准备并执行:

代码语言:javascript
复制
$stmt = $pdo->prepare($query_Recordset1);
$stmt->execute([$_GET["id"], $_GET["time"]]);

使用查询参数更容易、更安全。您将感谢自己切换到使用查询参数!

请注意,参数只能在通常使用常量值的地方使用。不能将参数用于表名、列名、SQL关键字或其他表达式。仅当您使用单个文字值时,如数字、带引号的字符串或带引号的日期。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46799780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档