【问题标题】:A PHP Error was encountered Severity: Notice Message: Array to string conversion Filename: mysql/mysql_driver.php Line Number: 552遇到 PHP 错误严重性:通知消息:数组到字符串转换文件名:mysql/mysql_driver.php 行号:552
【发布时间】:2014-04-14 09:02:48
【问题描述】:

型号:

function trans_gdc_add()
    {
$trans_gdc_gc_package[0] = $this->input->post('trans_gdc_gc_package');
$trans_gdc_gc_package1 = implode(",", $trans_gdc_gc_package[0]);
        $add=array(
                    'trans_gdc_no' => $this->input->post('trans_gdc_no'),
             'trans_gdc_to' => $this->input->post('trans_gdc_to'),
             'trans_gdc_vehicle_no' => $this->input->post('trans_gdc_vehicle_no'),
             'trans_gdc_vehicle_type' => $this->input->post('trans_gdc_vehicle_type'),
             'trans_gdc_vehicle_chas' => $this->input->post('trans_gdc_vehicle_chas'),
             'trans_gdc_vehicle_make' => $this->input->post('trans_gdc_vehicle_make'),
             'trans_gdc_vehicle_eng' => $this->input->post('trans_gdc_vehicle_eng'),
             'trans_gdc_vehicle_permit' => $this->input->post('trans_gdc_vehicle_permit'),
             'trans_gdc_vehicle_pol' => $this->input->post('trans_gdc_vehicle_pol'),
             'trans_gdc_vehicle_isby' => $this->input->post('trans_gdc_vehicle_isby'),
             '  trans_gdc_date' => $this->input->post(' trans_gdc_date'),
             'trans_gdc_from' => $this->input->post('trans_gdc_from'),
             'trans_gdc_driver_add' => $this->input->post('trans_gdc_driver_add'), 
            'trans_gdc_lic_no' => $this->input->post('trans_gdc_lic_no'),
             'trans_gdc_vehilce_owner_name' => $this->input->post('trans_gdc_vehilce_owner_name'),
             'trans_gdc_vehicle_owner_add' => $this->input->post('trans_gdc_vehicle_owner_add'),
             'trans_gdc_vehicle_owner_mob' => $this->input->post('trans_gdc_vehicle_owner_mob'),
               'trans_gdc_broker_name' => $this->input->post('trans_gdc_broker_name'), 
               'trans_gdc_broker_mob' => $this->input->post('trans_gdc_broker_mob'), 
               'trans_gdc_gc_no' => $this->input->post('trans_gdc_gc_no'), 
               'trans_gdc_gc_package' => $trans_gdc_gc_package1, 
               'trans_gdc_gc_cont' => $this->input->post('trans_gdc_gc_cont'), 
               'trans_gdc_gc_weight' => $this->input->post('trans_gdc_gc_weight'), 
               'trans_gdc_gc_freight' => $this->input->post('trans_gdc_gc_freight'), 
             'trans_gdc_gc_consignor' => $this->input->post('trans_gdc_gc_consignor'), 
             'trans_gdc_gc_consignee' => $this->input->post('trans_gdc_gc_consignee'), 
                                   'status' => '1'
        );
        return $this->db->insert('trans_gc_add',$add);


    }

遇到了 PHP 错误

严重性:通知

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

文件名:mysql/mysql_driver.php

行号:552

请帮我解决这个问题。

【问题讨论】:

  • Line Number: 552是哪一个?
  • 如果第 552 行 = return $this->db->insert('trans_gc_add',$add);,看起来它想要一个字符串在 $add 参数位置,而不是数组。 db->insert 方法是否有文档或注释块?
  • 错误:文件名:mysql/mysql_driver.php 行号:552

标签: codeigniter codeigniter-2 code-injection codeigniter-datamapper


【解决方案1】:

检查一下

'  trans_gdc_date' => $this->input->post(' trans_gdc_date'),

空间可能是问题,repla

'trans_gdc_date' => $this->input->post(' trans_gdc_date'),

【讨论】:

  • 你的权利,但我认为他应该使用新的语法并且不应该使用这种类型的数组定义,因为他无法阅读和理解错误输出告诉他一个干净的语法对他的进化很重要!
  • @FrankfromDSPEED,是的,但是应该解决第一个错误,然后他可以进行语法更改
  • thks 。我得到了输出。
【解决方案2】:

不能直接合并数组中的字符串!

您试图将连接字符串与数组合并,或者说数组与字符串是不可能的

一般示例

<?php
$stack = array("Orange", "Banane");
array_push($stack, "Apfel", "Himbeere");
print_r($stack);
?>

为您的代码示例

      // array push tiggers a php array as stack!
        $add=array()
        array_push($add, 'trans_gdc_no', $this->input->post('trans_gdc_no'));
        array_push($add, 'trans_gdc_to', $this->input->post('trans_gdc_to'));
        print_r($add);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 2015-12-06
    • 2016-02-25
    • 2017-08-26
    相关资源
    最近更新 更多