当我处理下面的代码时,我总是收到此错误:"'字段列表'中的未知列'数组'"。谁能帮我解决这个问题?我是 php 的新手,所以请耐心等待。提前谢谢你。
//updating conversation members
function update_cmembers($nc_id,$ids){
$r = "DELETE FROM nc_members WHERE nc_id = '$nc_id' ";
mysql_query($r) or die(mysql_error());
$values = array("($nc_id,{$_SESSION['id']},UNIX_TIMESTAMP(),0,1)");
foreach($ids as $id){
$id=(int)$id;
$values[] = "($nc_id,$id,0,0,0)";
}
$sql = "INSERT INTO nc_members (nc_id,user_id,nc_last_view,nc_deleted,nc_rank) VALUES " . implode(",",$values);
mysql_query($sql) or die(mysql_error());
}
这是抛出错误,因为您正在传递关联数组来内爆函数。因此,内爆函数将它们分发到多个数组并将它们作为值传递。请在数组和 sql 语句之间删除$values此代码。
foreach($ids as $id){
$id=(int)$id;
$values[] = "($nc_id,$id,0,0,0)";
}
由于此代码正在将$value数组转换为关联数组。
更改$values = array("($nc_id,{$_SESSION['id']},UNIX_TIMESTAMP(),0,1)");
对此:
'$values = array($nc_id,$_SESSION['id'],UNIX_TIMESTAMP(),0,1));
和改变
$sql = "INSERT INTO nc_members (nc_id,user_id,nc_last_view,nc_deleted,nc_rank) VALUES " . implode(",",$values);
自:
$sql = "INSERT INTO nc_members (nc_id,user_id,nc_last_view,nc_deleted,nc_rank) VALUES (" . implode(',',$values).")"