Php 数据库查询、检查和设置数组
我正在尝试查询数据库,并在活动字段中记录具有相同数据的记录数。我使用数组来存储计数。我首先检查数据库中的数据是否在数组中。如果不是,则将其作为键和值1添加到数组中,如果数据已经是键,则将值增加1。我得到一个错误致命错误:不能在第18行对重载对象或字符串偏移使用assign op运算符Php 数据库查询、检查和设置数组,php,mysql,arrays,database,Php,Mysql,Arrays,Database,我正在尝试查询数据库,并在活动字段中记录具有相同数据的记录数。我使用数组来存储计数。我首先检查数据库中的数据是否在数组中。如果不是,则将其作为键和值1添加到数组中,如果数据已经是键,则将值增加1。我得到一个错误致命错误:不能在第18行对重载对象或字符串偏移使用assign op运算符 <?php include 'database/dbinfo.php'; $campaignCalls = array(); //Connect to database
<?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);
?>
你把两个变量搞混了
$campaign[$campaignCalls] += 1;
应该是
$campaignCalls[$campaign] += 1;
由于
$campaign calls
是数组,而$campaign
是索引。您可能还需要包含一个标记,该标记精确显示此代码所用的(编程)语言。看起来您正在使用的SQL版本是MySQL(如果我错了,请纠正我),但我不知道您的其余代码使用的是什么语言。Adam,您是对的。它是php,使用mysql作为数据库命令。