PHP如何将var_dump函数中的对象写入数据库?

我使用CodeIgniter,我在模型中有一个函数createRecord:

public function createRecord($aRecordToSave) {
    $oLatestRecord = $this->getLatestRecord($aRecordToSave[$this->sForeignKey]);
    var_dump($oLatestRecord);
    $this->db->trans_begin();
    $this->db->where($this->sForeignKey, $aRecordToSave[$this->sForeignKey]);
    $this->db->update($this->sRecordsTable, array('latest' => 0));
  }

如果只在数据库中写入执行该功能,并且通过单击“保存到显示视图”立即从编辑中重定向页面,如何显示var_dump输出

解决方法:

如果只想输出var_dump的结果

var_dump通常用于调试上下文,通常不用于用户上下文的反馈消息.

所以;如果要将消息反馈给用户,最简单的方法是使用$_SESSION并使用print_r()转储var.

因此:

public function createRecord($aRecordToSave) {
    ....
    $_SESSION['message'] = print_r($oLatestRecordSignature,true);
    ....
  }

将保存您的消息,然后您可以将代码添加输出页面显示消息,例如:

if(!empty($_SESSION['message'])){
     print $_SESSION['messge'];
     unset($_SESSION['message]);
}

如果要记录var_dump的结果并停止执行

print_r()不同,var_dump不允许您选择数据的输出位置.

所以;如果你想反馈消息进行调试,最简单的方法是使用PHP errr_log并转储var.最好将内容存储在错误日志中,而不是简单地将错误输出到屏幕,因为您可以查看在每次执行时对代码进行更改时错误如何演变.

因此:

public function createRecord($aRecordToSave) {
    ....
    error_log(print_r($oLatestRecordSignature,true));
    error_log(print_r(debug_backtrace(),true); //optional but useful
    exit; // cease script execution. 
    ....
  }

然后,您可以在错误日志中阅读此详细信息.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...