Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组到字符串的转换_Php_Codeigniter_Error Handling - Fatal编程技术网

Php 数组到字符串的转换

Php 数组到字符串的转换,php,codeigniter,error-handling,Php,Codeigniter,Error Handling,我的代码中有一个错误,但是代码工作得很好。我的意思是所有的值都被插入到数据库中,但屏幕上出现了如下错误: 严重性:通知 消息:数组到字符串转换 文件名:models/some_model.php 电话号码:106 这是我的代码: 查看: <?php foreach($app as $row){ echo "<tr><td><input type=checkbox name=appname[] value='".$row->app_name."'

我的代码中有一个错误,但是代码工作得很好。我的意思是所有的值都被插入到数据库中,但屏幕上出现了如下错误:

严重性:通知

消息:数组到字符串转换

文件名:models/some_model.php

电话号码:106

这是我的代码:

查看:

<?php foreach($app as $row){
    echo "<tr><td><input type=checkbox name=appname[]  value='".$row->app_name."'/>".$row->id."</td><td>".$row->app_name."</td><tr>".
?>  
public function hide(){
    $this->load->model('some_model');
    $visi = $this->input->post('appname');
    $success = $this->some_model->hideApp($visi);

    foreach($visi as $key=>$value)
    {
    $success = $this->some_model->hideApp($visi[$key]);
    }

    if($success == TRUE)
        $this->hideApp_page(TRUE);
    else $this->hideApp_page(FALSE);
}
public function hideApp($visi){
    $visi = $this->db->escape_str($visi);
    $queryStr = "UPDATE appwarehouse.application_table SET visibility='hidden' where app_name='$visi';"; /* this is line 106*/
    $query = $this->db->query($queryStr);
    return $query;
}
型号:

<?php foreach($app as $row){
    echo "<tr><td><input type=checkbox name=appname[]  value='".$row->app_name."'/>".$row->id."</td><td>".$row->app_name."</td><tr>".
?>  
public function hide(){
    $this->load->model('some_model');
    $visi = $this->input->post('appname');
    $success = $this->some_model->hideApp($visi);

    foreach($visi as $key=>$value)
    {
    $success = $this->some_model->hideApp($visi[$key]);
    }

    if($success == TRUE)
        $this->hideApp_page(TRUE);
    else $this->hideApp_page(FALSE);
}
public function hideApp($visi){
    $visi = $this->db->escape_str($visi);
    $queryStr = "UPDATE appwarehouse.application_table SET visibility='hidden' where app_name='$visi';"; /* this is line 106*/
    $query = $this->db->query($queryStr);
    return $query;
}

$visi是类似于[1,2,3,4]的数组
当您将$visi放入hideApp()中时
将显示“数组到字符串错误”
所以,也许你可以删除这一行
$success=$this->some_model->hideApp($visi)
您已经在foreach循环中执行了
some\u model->hideApp($visi[$key])
所以我不知道你为什么要写这个
$success=$this->some_model->hideApp($visi)

如果您仍然想运行
$success=$this->some_model->hideApp($visi)

您必须将$visi放入字符串中

在第106行中,您正在使用一个数组,就像它是字符串一样。您能确定第106行是哪一行吗?第106行是$queryStr=“UPDATE appwarehouse.application_table SET visibility='hidden'其中app_name='$visi';”;伟大的放入
打印($visi);退出(),然后查看它包含的内容。也许
appname
使用了
数组格式,即在HTML中使用方括号,PHP已经为您将其转换为数组?我看到了数组的值,但如何消除错误?