您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '' 附近使用正确的语法

Posted

技术标签:

【中文标题】您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 \'\' 附近使用正确的语法【英文标题】:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '' 附近使用正确的语法 【发布时间】:2013-11-22 19:47:19 【问题描述】:

我在 mysql 中遇到错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

有人可以向我解释一下这个错误是怎么回事吗?谢谢。

php 代码:

<?php

$link = connectToDB();
 $strXML = "<chart caption='Factory Output report' subCaption='By Quantity' pieSliceDepth='30' showBorder='1' formatNumberScale='0' numberSuffix=' Units'>";




    $result = mysqli_query($link, "SELECT DISTINCT PROFILE FROM tbljocreator GROUP BY PROFILE");
    $show = mysqli_fetch_array($result);
    if($result) 
    while ($ors = mysqli_fetch_array($result)) 

    $strQuery = "select PROFILE, sum(MT) as totalLM from tbljocreator where PROFILE =" .$ors['PROFILE'];
    $result2 = mysqli_query($link, $strQuery) or die(mysqli_error($link));
    $getresult2 = mysqli_fetch_array($result2); 


    $strXML .= "<set label='" . $ors['profile'] . "' value ='" . $getresult2['totalLM'] . "' />";


    mysqli_free_result($result2);
    
    
    mysqli_close($link);
    $strXML .= "</chart>";

        echo renderChart("FusionCharts/Column3D.swf", "", $strXML, "JoCreator", 450, 300, false, true);

    ?>

请给我解释清楚。

【问题讨论】:

PROFILE 字段是 int 字段吗?如果不是,则需要添加单引号来表示字符串 你能帮我解释一下吗? 【参考方案1】:

听起来$ors['PROFILE'] 是一个空变量。在某处执行 print_r($ors) 并将您的查询更改为 $strQuery = "select PROFILE, sum(MT) as totalLM from tbljocreator where PROFILE = '" .$ors['PROFILE']."'"; 以便下次不会抛出该错误。

顺便解释一下,错误是因为如果变量为空,查询在=之后结束。由于它在这里需要一个参数,所以它会抛出错误。由于错误仅显示问题的最开始,即查询的最后,因此它是一个空字符串。 (靠近'')

【讨论】:

我已经按照你所说的做了发布这个错误如果没有 GROUP 列混合没有 GROUP 列是非法的GROUP BY 子句 @user2958635 那就试试$strQuery = "select PROFILE, sum(MT) as totalLM from tbljocreator where PROFILE = '" .$ors['PROFILE']."' Group By PROFILE" 这个错误是在我放 GROUP BY 之后出现的 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“X25”GROUP BY PROFILE' 附近使用正确的语法 @user2958635 很抱歉,如果没有更多数据库表信息,我将无法再帮助解决问题。您可以在问题中发布您的餐桌信息吗? 这里是列信息 FieldTypeComment PROFILEvarchar(255) NULL DETAILvarchar(255) NULL COLORvarchar(255) NULL GAUGEdouble NULL WIDTHdouble NULL LENGTHdouble NULL QUANTITYint(11) NULL LMdouble NULL MTdouble NULL REFSOvarchar(255) NULL JODATEdate NULL STATUSvarchar(255) NULL JONUMBERvarchar(255) NULL PROD_GROUPvarchar(255) NULL PostingCodeint(11) NULL UNITvarchar(100) NULL

以上是关于您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '' 附近使用正确的语法的主要内容,如果未能解决你的问题,请参考以下文章

SQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法

您的 SQL 语法有错误;检查与您的 MySQL 服务器 PYTHON 对应的手册

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册

错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法解决方案:

“您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法错误”Hibernate 4 [重复]