“字段列表”中的未知列“数组”

时间:2015-06-18 06:13:50

标签: php

当我处理下面的代码时,我总是遇到这样的错误:“字段列表中的未知列'数组'”。有人可以帮我这个吗?我是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());
}

2 个答案:

答案 0 :(得分:1)

抛出错误是因为您将关联数组传递给内部函数。因此,implode函数将它们分配给多个数组并将它们作为值传递。 请在$ values数组和sql语句之间删除此代码。

foreach($ids as $id){

     $id=(int)$id;
     $values[] = "($nc_id,$id,0,0,0)";

}

由于此代码将$ value数组转换为关联数组。

答案 1 :(得分:0)

更改$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).")"