php - 如果发生重复输入错误,如何将用户重定向到其他页面?

标签 php mysql database codeigniter duplicates

当出现重复输入错误时,我试图将用户重定向到其他页面。我在用 代码点火器

.我编写了以下代码,但它显示错误消息 Duplicate entry '1' for key 'semester_id'

请检查代码并指导我。

谢谢

public function insert_sports_sports($student_id, $squash, $football, $cricket, $hockey, $swimming, $semester_id)
{
    $data= array (

            "squash"=> $squash,
            "football"=>$football,
            "cricket"=>$cricket,
            "hockey"=>$hockey,
            "swimming"=>$swimming,
            "studentId"=>$student_id,
            "semester_id" => $semester_id

    );  

    if ($this->db->insert("sports",$data))
    {
        return true;
        }
        else
        {
            return false;
            }
    }

控制者

---
--
--
    if($this->loginmodel->insert_sports_sports($student_id, $squash, $football, $cricket,
                                             $hockey, $swimming, $semester_id))
    {
        redirect('mycontroller/index');
        }
        else
        {
            $this->load->view('success');
            }
    }   

编辑

    if ($this->db->insert("sports",$data))
    {
        return true;
        }
        else
        {
            return false;
            }
    }


catch (Exception $ex) {

        if($ex->message == "Duplicate entry '1' for key 'semester_id'")
        {
            redirect('success.php');    

            }       
}
}

错误信息

A Database Error Occurred

Error Number: 1062

Duplicate entry '1' for key 'semester_id'

INSERT INTO `sports` (`squash`, `football`, `cricket`, `hockey`, `swimming`, `studentId`, `semester_id`) VALUES ('4', '4', '4', '4', '4', '42', '1')

Filename: F:\xampp\htdocs\student_management2\system\database\DB_driver.php

Line Number: 330

最佳答案

删除 try catch 并试试这个

$orig_debug = $this->db->db_debug;
$this->db->db_debug = FALSE;

if ($this->db->insert("sports",$data))
 {
    $this->db->db_debug = $orig_debug;
    return true;
 }
else
 {
   $this->db->db_debug = $orig_debug;
    return false;
 }

它基本上使您的插入查询的调试静音。如果出现错误,则不会发生插入,因此它将返回 false。

关于php - 如果发生重复输入错误,如何将用户重定向到其他页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24604175/

相关文章:

php - 在 html 属性中使用 php 变量的最佳方法是什么?

sql - 多个 SQL 搜索与搜索一个返回的数组

database - 使用 Laravel Eloquent 计算用户的第一个答案并忽略其他答案

mysql - 获取前 N 行,包括绑定(bind)值 MYSQL

php - 如何在 PHP 中连接字符串

php - 在我的 MVC 框架中解析错误 : parse error, 期望 `T_FUNCTION'

php - 将数据插入数据库 CodeIgniter 3.x

javascript - 我的图表没有在 x 轴上显示正确的时间

python - 用于 Mysql 查询的 FLASK HTML 字段

mysql - 只插入第一个表中第二个表中不存在的数据