user200
user200

Reputation: 301

Duplicate value ' found in column 'id' in php

i have one table in my database name is mdl_assigncourses..so in that i have columns as id(primary key),groupid,courseid,status..

so when i going to add course to the group if it is already exist in the table i want to show error message like 'this course already taken'..and its not storing in table too..

now for me it showing this error..Did you remember to make the first column something unique in your call to get_records? Duplicate value '63' found in column 'id'.but still this record storing in db too...

here is my insert code:

if(isset($_POST['assigncourse'])) { 


$courseid = $_POST['courseid'];

$courseid = required_param('courseid', PARAM_TEXT); 
$groupid = required_param('groupid', PARAM_TEXT); 

$insert_record = new stdClass(); 
$insert_record->courseid = $courseid; 
$insert_record->groupid = $_SESSION['groupid']; 
$insert_record->assigned_date = date('Y-m-d H:i:s'); 
if($result = $DB->insert_record('assigncourses', $insert_record) ) 
{ 
   $_SESSION['successMessage'] = "record created successfully"; 
    header('Location: ' . $_SERVER['HTTP_REFERER']); 
}

//$stmt->bindParam("groupid", $_SESSION['groupid'],PDO::PARAM_STR) ;    
  } 

can any one help me..how to do that..

thanks in advance..

Upvotes: 1

Views: 1359

Answers (1)

Mahesh
Mahesh

Reputation: 93

    if(isset($_POST['assigncourse'])) { 

    $groupid=$_SESSION['groupid']
    $courseid = $_POST['courseid'];

    $courseid = required_param('courseid', PARAM_TEXT); 
    $groupid = required_param('groupid', PARAM_TEXT); 

    //$con is your db connection
    $sql=mysqli_query($con," SELECT * FROM mdl_assigncourses WHERE groupid='$groupid' AND courseid='$courseid' ");

    $row=mysqli_num_rows($sql);

if($row>0){

    $insert_record = new stdClass(); 
    $insert_record->courseid = $courseid; 
    $insert_record->groupid = $_SESSION['groupid']; 
    $insert_record->assigned_date = date('Y-m-d H:i:s'); 
    if($result = $DB->insert_record('assigncourses', $insert_record) ) 
    { 
       $_SESSION['successMessage'] = "record created successfully"; 
        header('Location: ' . $_SERVER['HTTP_REFERER']); 
    }

    //$stmt->bindParam("groupid", $_SESSION['groupid'],PDO::PARAM_STR) ;    
      } 

}else{
   echo "<script>alert('groupid and courseid should be unique');window.location.href='form.php';</script>";

}

Upvotes: 1

Related Questions