【问题标题】:Database query, Checking and setting an array数据库查询,检查和设置数组
【发布时间】:2014-07-21 15:55:19
【问题描述】:

我正在尝试查询数据库并计算活动字段中具有相同数据的记录。我正在使用数组来存储计数。我首先检查数据库中的数据是否在数组中。如果不是,则作为键和值添加到数组中 1,如果数据已经是键,则将值增加 1。我收到一个错误致命错误:不能使用重载对象的赋值操作运算符或字符串偏移量第 18 行

    <?php
include 'database/dbinfo.php';
$campaignCalls = array();

        //Connect to database
      $con=mysqli_connect("localhost",$username,$password,$database);
        // Check connection
        if (mysqli_connect_errno())
          {
          echo "Failed to connect to MySQL: " . mysqli_connect_error();
          }
        //Query records from database
        $result = mysqli_query($con, "SELECT * FROM  `phone_records` ");
        while($row = mysqli_fetch_array($result))
          {
          $campaign = $row['campaign'];
          //Check to see if data of field campaing is in array, if so increment by 1
          if (array_key_exists($campaign, $campaignCalls)){
              $campaign[$campaignCalls] += 1;
          }
          //Add key and value to array
          else {
              $campaignCalls[$campaign] = 1;
          }
          }
        mysqli_close($con);
        ?>

【问题讨论】:

  • 您可能还需要包含一个标签,该标签准确显示此代码是用哪种(编程)语言编写的。看起来您正在使用的 SQL 版本是 MySQL(如果我错了,请纠正我)但我不知道你的其余代码是什么语言。
  • 亚当,你是对的。它是 php 并使用 mysql 作为数据库命令。

标签: php mysql arrays database


【解决方案1】:

你混淆了两个变量。

$campaign[$campaignCalls] += 1;

应该是

$campaignCalls[$campaign] += 1;

因为$campaignCalls 是数组,$campaign 是索引。

【讨论】:

    猜你喜欢
    • 2012-02-26
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多