PHP:未捕获的错误无法使用 mysqli_result 类型的对象作为数组

我有一个简单的部分,我在其中显示数据库中的数据,


如果用户单击例如建筑并选择例如阿尔及利亚,我将显示[251, 211,712]用户是否单击例如电源并选择例如。埃及我正在展示[406, 228,559]等


现在我想如果用户单击按钮All available industries并选择例如。阿尔及利亚 我想[251+203+130, 211,712+179,877+154,946]在 SQL 中以这样的简单方式显示它


SELECT sum(SumofNoOfProjects) as sum_projects, sum(SumofTotalBudgetValue) as sum_value FROM `meed` WHERE Countries = 'Algeria'

哪个给我这个 [611, 546535]


这是我的解决方案


HTML


<div id="interactive-layers">

    <div buttonid="43" class="video-btns">

        <span class="label">Construction</span></div>

    <div buttonid="44" class="video-btns">

        <span class="label">Power</span></div>

    <div buttonid="45" class="video-btns">

        <span class="label">Oil</span></div>

    <div buttonid="103" class="video-btns">

        <span class="label">All available industries</span>

    </div>

</div>

这是js ajax


$("#interactive-layers").on("click", ".video-btns", function(){

    if( $(e.target).find("span.label").html()=="Confirm" ) {


        var selectedCountries = [];


        $('.video-btns .selected').each(function () {

            selectedCountries.push( $(this).parent().find("span.label").html() ) ;

        });


        if( selectedCountries.length>0 ) {

            if(selectedCountries.indexOf("All available countries")>-1) {

                selectedCountries = [];

            }



        } else {


            return;

        }


        var ajaxurl = "";

        if(selectedCountries.length>0) {

            ajaxurl = "data.php";

        } else {

            ajaxurl = "dataall.php";


        }


        $.ajax({

            url: ajaxurl,

            type: 'POST',

            data: {

                    countries: selectedCountries.join(","),

                    sector: selectedSector

            },

    

慕盖茨4494581
浏览 201回答 1
1回答

慕妹3242003

你应该排一排(至少)if (mysqli_connect_errno())&nbsp; &nbsp;{&nbsp; echo "Failed to connect to MySQL: " . mysqli_connect_error();}$result = mysqli_query($conn,&nbsp;&nbsp; &nbsp; "SELECT sum(SumofNoOfProjects) as sum_projects, sum(SumofTotalBudgetValue) as sum_value&nbsp;&nbsp; &nbsp; FROM `meed`&nbsp;&nbsp; &nbsp; WHERE Countries = '$countries'");while( $row=mysqli_fetch_array($result,MYSQLI_ASSOC);) {&nbsp;echo json_encode([ $row['sum_projects'], $row['sum_value'] ] );&nbsp;exit;}对于多个国家假设您 $_POST['countries']包含"'Egypt','Algerie'" 那么您可以使用查询作为"SELECT sum(SumofNoOfProjects) as sum_projects, sum(SumofTotalBudgetValue) as sum_value&nbsp;&nbsp; &nbsp; FROM `meed`&nbsp;&nbsp; &nbsp; WHERE Countries IN (" . $_POST['countries'] . ");"
打开App,查看更多内容
随时随地看视频慕课网APP