1

少し広い質問であることをお詫びしますが、これについてインターネット全体で助けを見つけることができません。私はデータベースを担当していないサイトで作業しています (はい、非常に問題があります)。ストアド プロシージャを使用してデータをテーブルに挿入するように言われました。

クエリが実行されています。データをテーブルに挿入しますが、他の何かがエラーを引き起こしています。

私の質問は次のとおりです。このコードにそのエラーをトリガーするものはありますか、それともストアドプロシージャに何かありますか? それをテストするにはどうすればよいですか?何か提案はありますか?エラー番号 : 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 に変更しようとしました。もうエラーは出ません。

4

1 に答える 1

4

codeigniter mysql ドライバーのバグのようsimple_queryです。メソッドを使用してみてください。

于 2012-09-18T15:03:20.553 に答える