少し広い質問であることをお詫びしますが、これについてインターネット全体で助けを見つけることができません。私はデータベースを担当していないサイトで作業しています (はい、非常に問題があります)。ストアド プロシージャを使用してデータをテーブルに挿入するように言われました。
クエリが実行されています。データをテーブルに挿入しますが、他の何かがエラーを引き起こしています。
私の質問は次のとおりです。このコードにそのエラーをトリガーするものはありますか、それともストアドプロシージャに何かありますか? それをテストするにはどうすればよいですか?何か提案はありますか?エラー番号 : 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 に変更しようとしました。もうエラーは出ません。