CodeIgniter错误号:1054“字段列表”中的未知列“ Array”。使用爆破功能将图像名称插入一列

时间:2019-12-26 06:33:49

标签: php codeigniter-3

请,我将多个图像移动到目标文件夹,并将图像名称插入由逗号分隔的单列中。这意味着,所有其他记录将被插入到一行一次,并且图像名称将被插入在由逗号分隔的列中。从文件上传中可以很好地移动图像,但是数据不会插入数据库中。它在下面给出此错误:

遇到PHP错误

严重性:通知

消息:数组到字符串的转换

文件名:database / DB_driver.php

行号:1465

错误号:1054

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

插入wzb_productWZB_ProductCodeProductGradeWZB_ProductNameWZB_ProductDescriptionWZB_QuantityPerUnitWZB_UnitPrice,{{1 }},WZB_ProductOwnerWZB_CategoryNameWZB_VerifiedByAgentProductPhotoName)值('PR02_893','OLD','Giovani Vialli Shoe',数组,NULL,'350000' ,“管理员”,“包包和鞋子”,“否”,“ main-product01.jpg,main-product02.jpg,main-product03.jpg,main-product04.jpg”,``)

事实是我没有名为Array的列。该表单使用TinyMCE允许用户键入产品描述。我怀疑图像文件名是罪魁祸首,还是TinyMCE列(ProducrDescription)?

这是我执行的Controller方法:

Addedby

我没有使用模型。关键是,如果我插入一个不是多个图像的图像名称。通过移动图像名称可以很好地工作,并且还可以将记录与图像文件名一起插入数据库,但是当它是多张图像时出现此错误。

我感谢所有的努力。

此致

2 个答案:

答案 0 :(得分:0)

您在$datatiny['content']中有描述,并且在初始化中使用了$datatiny。它是数组,您不能在其中使用数组。因此,将行更改为:

$data2 = array(
              'WZB_ProductCode'=>$this->input->post('productcode'),
              'ProductGrade'=>$this->input->post('productgrade'),
              'WZB_ProductName'=>$this->input->post('productname'),
              'WZB_ProductDescription'=>$datatiny['content'],
              'WZB_QuantityPerUnit'=>$this->input->post('quantityperunity'),
              'WZB_UnitPrice'=>$this->input->post('unitprice'),
              'WZB_ProductOwner'=>$this->input->post('productowner'),
              'WZB_CategoryName'=>$this->input->post('productcategory'),
              'WZB_VerifiedByAgent'=>$this->input->post('verifiedbyagent'),                  
              'ProductPhotoName'=>$imagesnames,
              'Addedby'=>$this->input->post('addedby')
            );

答案 1 :(得分:0)

您在代码中有一些错误更改此行

  $datatiny['content'] = $content;

  $datatiny = $content;

或将此数组更改为

 $data2 = array(
          'WZB_ProductCode'=>$this->input->post('productcode'),
          'ProductGrade'=>$this->input->post('productgrade'),
          'WZB_ProductName'=>$this->input->post('productname'),
          'WZB_ProductDescription'=>$datatiny,
          'WZB_QuantityPerUnit'=>$this->input->post('quantityperunity'),
          'WZB_UnitPrice'=>$this->input->post('unitprice'),
          'WZB_ProductOwner'=>$this->input->post('productowner'),
          'WZB_CategoryName'=>$this->input->post('productcategory'),
          'WZB_VerifiedByAgent'=>$this->input->post('verifiedbyagent'),                  
          'ProductPhotoName'=>$imagesnames,
          'Addedby'=>$this->input->post('addedby')
        );

 $data2 = array(
          'WZB_ProductCode'=>$this->input->post('productcode'),
          'ProductGrade'=>$this->input->post('productgrade'),
          'WZB_ProductName'=>$this->input->post('productname'),
          'WZB_ProductDescription'=>$datatiny['content'],
          'WZB_QuantityPerUnit'=>$this->input->post('quantityperunity'),
          'WZB_UnitPrice'=>$this->input->post('unitprice'),
          'WZB_ProductOwner'=>$this->input->post('productowner'),
          'WZB_CategoryName'=>$this->input->post('productcategory'),
          'WZB_VerifiedByAgent'=>$this->input->post('verifiedbyagent'),                  
          'ProductPhotoName'=>$imagesnames,
          'Addedby'=>$this->input->post('addedby')
        );