为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕盖茨4494581 2021-10-22 13:33:55
我有一个简单的部分,我在其中显示数据库中的数据,如果用户单击例如建筑并选择例如阿尔及利亚,我将显示[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            },    
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

你应该排一排(至少)


if (mysqli_connect_errno())   {

  echo "Failed to connect to MySQL: " . mysqli_connect_error();

}



$result = mysqli_query($conn, 

    "SELECT sum(SumofNoOfProjects) as sum_projects, sum(SumofTotalBudgetValue) as sum_value 

    FROM `meed` 

    WHERE Countries = '$countries'");


while( $row=mysqli_fetch_array($result,MYSQLI_ASSOC);) {

 echo json_encode([ $row['sum_projects'], $row['sum_value'] ] );

 exit;

}

对于多个国家


假设您 $_POST['countries']包含"'Egypt','Algerie'" 那么您可以使用查询作为


"SELECT sum(SumofNoOfProjects) as sum_projects, sum(SumofTotalBudgetValue) as sum_value 

    FROM `meed` 

    WHERE Countries IN (" . $_POST['countries'] . ");"


查看完整回答
反对 回复 2021-10-22
  • 1 回答
  • 0 关注
  • 200 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信