-8

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);

    ?>

私のために明確に説明してください。

4

1 に答える 1

0

$ors['PROFILE']空の変数のように聞こえます。print_r($ors)どこかで実行し、クエリを次のように変更して、次回$strQuery = "select PROFILE, sum(MT) as totalLM from tbljocreator where PROFILE = '" .$ors['PROFILE']."'";そのエラーがスローされないようにします。

ちなみに、説明として、エラーは、変数が空の場合、クエリが=. ここではパラメーターが必要であるため、エラーがスローされます。エラーは、クエリの最後にある問題の最初の部分のみを表示するため、空の文字列です。(近く '')

于 2013-11-11T04:55:47.253 に答える