我很抱歉提出一个更广泛的问题,然后最喜欢,但我在整个互联网上找不到任何帮助。我正在一个我不负责数据库的站点上工作(是的,它非常有问题),我被告知使用存储过程将数据插入表中。
查询正在运行。它将数据插入表中,但其他东西正在触发错误。
我的问题是:这段代码中是否有任何东西会触发该错误,或者它是否在存储过程中?我能做些什么来测试它?有什么建议吗?我无法弄清楚错误号 : 0 实际上是什么。
我正在使用 codeigniter 框架。这是代码:
public function addScopeContent () {
$cn = '%';
$gp = $this->input->post('group');
$co = $this->input->post('company');
$ci = $this->input->post('city');
$dp = '%';
if ($gp == 'BU000') {
$gp = '%';
}
if ($co == 'CO000') {
$co = '%';
}
if ($ci == 'CI000') {
$ci = '%';
}
$location = $cn .'-'. $gp .'-'. $co .'-'. $ci .'-'. $dp;
$query = $this->db->query('call rollout_systems_multiimport('. $this->session->userdata('scopeId') .', "'. $location .'")');
if ($query) {
redirect('discovery/addContent');
}
}
这是存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `rollout_systems_multiimport`(
var_scope_id varchar(250),
var_searchString varchar(250))
BEGIN
Insert into rollout_systems
(`sys_name`, `sys_serial`, `eam_model`, `EOL_date`, `eam_user`, `scope_id`)
select `ad_name`,`eam_Serial_Number`,`eam_Model`,`Model_EOL`,`ad_account`,var_scope_id
from `disc_userpool` inner join `disc_systempool`
on `ad_account` = `user_aurora_id`
Where `disc_userpool`.`location_code` like var_searchString;
注意:我刚刚尝试将 database.php 页面中的 dbdriver 从 mysqli 更改为 mysql。它不再给出错误。