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
//
这是代码,剩下的代码工作正常
<?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 :(得分:0)
根据你的问题,它显示错误,如缺少Skill :: delskill()的参数1 它意味着你在调用delskill函数时你没有将任何参数传递给它,但你创建了这个函数,其中一个参数作为公共函数delskill($ data){...},所以,你需要传递一个参数在delskill功能。但我查看了你的delskill函数,没有使用它,因为你没有将那个传递参数用于该函数,以及条件错误的那个函数。
答案 1 :(得分: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。