2016-10-22 9 views
0
Error: A PHP Error was encountered 

Severity: Warning 

Message: Missing argument 1 for Skill::delskill() 

Filename: controllers/Skill.php 

Line Number: 75 

Backtrace: 

File: /var/www/html/tatui/application/controllers/Skill.php 
Line: 75 
Function: _error_handler 

File: /var/www/html/tatui/index.php 
Line: 292 
Function: require_once 
// 

は、ここでのコードを残り、コードです。この部分が正しく動作していない完全「スキル:: delskillの引数1がありません」をデバッグする方法は?

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Skill extends CI_Controller 
{ 
    function __construct() 
    { 
     parent::__construct(); 
     //$this->load->library('session'); 
     $this->load->helper(array('form', 'url', 'html')); 
     $this->load->library('form_validation');   
    } 
    public function construct_pages($page, $data) {   
      $this->load->view('templates/header', $data); 
      $this->load->view('pages/'.$page); 
      $this->load->view('templates/footer'); 
     } 
    // checks login using in built validation 


    public function index() 
    { 

     $this->load->helper('form'); 
     $this->load->view('pages/AddSkill'); 

    } 
    public function skill_validate(){ 

     $this`enter code here`->load->library('form_validation'); 
     $this->form_validation->set_rules('skillid', 'skillid', 'required|max_length[15]'); 
     $this->form_validation->set_rules('skillname', 'SkillName', 'required|max_length[25]'); 
     $this->form_validation->set_rules('skilldescription', 'skilldescription', 'required|max_length[70]'); 
     $this->form_validation->set_rules('skillgroup', 'skillgroup', 'required'); 

     if($this->form_validation->run()){ 

     $this->load->model('Getskills', '', TRUE); 
     $skill = $this->input->post('skillid'); 
     $skillExisted = $this->Getskills->getskill($skill); 
     if($skillExisted){ 

      echo "Skill Already Existed"; 
      $this->load->helper('form'); 
      $this->load->view('pages/AddSkill'); 

     } 
     else{ 
      $data = array(
      'SkillId' => $this->input->post('skillid'), 
      'SkillDescription' => $this->input->post('skilldescription'), 
      'SkillGroup' => $this->input->post('skillgroup'), 
      'SkillName' => $this->input->post('skillname') 
     ); 

     $inserted = $this->Getskills->insert_skill($data); 
      if($inserted){ 

      echo "Inserted Successfully"; 
      $this->load->view('pages/AddSkill');   
      }   
      else{ 

      echo "Please contact Support Team"; 
      } 
     } 

    } 
    else{ 

     echo "Please contact Support Team"; 
    } 

    } 

を働いていますか?

public function delskill($data) { 

     $this->db->where(array('Skillid' , 'Skillname' , 'Skillgroup' , 'Skilldescription')); 
     $this->db->delete('Skills'); 

    } 

    } 

誰も実際の理由を知っていませんか?

+0

あなたの最後の機能delskill($ data)なぜ必要なのですか?教えてください –

+1

あなたはクリックしたリンクに '$ data'が提供されていないというメッセージが表示されます。ビューファイルまたはレンダリングされたページのビューソースを調べて、作成されたリンクを確認します。 2番目の問題は、クエリビルダの削除メソッドです。このコードの部分がどのように表示されるべきかについて[このガイド](http://www.codeigniter.com/userguide3/database/query_builder.html#deleting-data)について学んでください。 – Tpojka

+0

あなたの問題を説明する便利なタイトルをここで使用してください。txtspkを避けてください。 - 私はエラーがあります。plz help meはエディタを修正するための作業を作成します。 – halfer

答えて

0

Skill :: delskill()の引数1が抜けているなどのエラーが表示される場合は、delskill関数を呼び出す場所を意味しますが、パラメータを渡すことはありませんが、パラメータをpublic関数delskill($ data){...}として指定すると、delskill関数に1つのパラメータを渡す必要があります。しかし、私はあなたのdelskill関数を調べましたが、その関数を渡されたパラメータを使わず、条件が間違っている関数を使っていないので、その関数を使用していません。

0

常に送信しない場合は、メソッドまたは関数のデフォルト引数を送信する必要があります。

public function delskill($data = '') { 
    if (isset($data) && is_array($data)) { 
     $this->db->where(array('Skillid' , 'Skillname' , 'Skillgroup' , 'Skilldescription'), $data); 
     $this->db->delete('Skills'); 
    } 
} 

注:コードごとに、複数の列から削除しています。空白のデータをargsとして送信してクエリを実行すると、データの問題が発生する可能性があります。有効な削除要求が送信されていることを確認してください。安全なSQLをお持ちください。

関連する問題