gpt4 book ai didi

php - 在 Codeigniter 中调用 bool 上的成员函数 escape_str()

转载 作者:行者123 更新时间:2023-11-30 21:25:19 26 4
gpt4 key购买 nike

我正在使用 Codeigniter Framework 更新数据库中的数据,并在使用 Codeigniter 核心数据库功能(如 $this->db->update())时遇到以下故障。但是,如果我使用普通的 SQL 查询,它工作正常。

Type: Error Message: Call to a member function escape_str() on bool Filename: D:\xampp\htdocs\code\system\database\drivers\mysqli\mysqli_driver.php Line Number: 393

我的模型代码:

public function updatePolicy($data, $pid)
{
$this->db->where("id",$pid);
$res = $this->db->update('tablename', $data);
if ($res)
return true;
else
return false;
}

我的 $data 数组:

Array
(
[agent_id] => 659
[finace_company] => 23
[vehicle_type] => 4
[policy_month] => 2019-12-18
[policy_number] => 3005/189/00/B00
[name] => TEST
[reg_number] => HR24Ab8585
[proposal] =>
[attachment] =>
[attachment2] =>
[payment_mode_agent] => online
[od_premium] => 1577.00
[comments] => 24
[branch] => 6
[smId] => 12
[frenchise] => 15
[rejectStatus] => 0
)

当我用 policy_number 更改 reg_number 时,它更新成功。

最佳答案

这可能意味着您的数据库连接失败或从未尝试过。尝试在 application->config->database.php 中创建另一个数据库

$db['another'] = array(
'dsn' => '',
'hostname' => 'host',
'username' => 'username',
'password' => 'password',
'database' => 'dbname',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

public function updatePolicy($data, $pid)
{
$this->legacy_db = $this->load->database('another', true);
$this->legacy_db->where("id",$pid);
$res = $this->legacy_db->update('tablename', $data);
if ($res)
return true;
else
return false;
}

希望这对你有用。

关于php - 在 Codeigniter 中调用 bool 上的成员函数 escape_str(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59404147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com