I am inserting multiple rows from one submit button by the usage of array. Insertion of records is working smoothly. Now I want to stop insertion of data if record is already existed. My syntax for single record updating is works to prevent multi-insertion of same record. But I am confused and can't get idea while using array. I've tried a lot, but every method display error.
This code is working.
if(isset($_POST['submit'])){
$number = $_POST['number'];
$letter = $_POST['letter'];
$sql = "INSERT INTO class(number, letter) VALUES(:number, :letter)";
$query = $con->prepare($sql);
foreach($number AS $key => $n){
$query->bindParam(':number', $number[$key]);
$query->bindParam(':letter', $letter[$key]);
$query->execute();
}
}
My intention is to stop insertion of data if it is already inserted. So I tried like this. I am sure it is wrong because array variable can't pass to first syntax**(sql1)** and $query is not being accessed to foreach clause. I have no idea, So I used like this. Please provide me any idea to stop already inserted record.
I want to change in this code
<?php
if(isset($_POST['submit'])){
$number = $_POST['number'];
$letter = $_POST['letter'];
$sql1 = 'SELECT COUNT(*) FROM class WHERE number = :number';
$stmt = $con->prepare($sql1);
$stmt->bindParam(':number', $number[$key]);
$stmt->execute();
if($stmt->fetchColumn()){
echo"<script>alert('Class is already existed')</script>";
}
else{
$sql = "INSERT INTO class(number, letter) VALUES(:number, :letter)";
$query = $con->prepare($sql);
}
foreach($number AS $key => $n){
$query->bindParam(':number', $number[$key]);
$query->bindParam(':letter', $letter[$key]);
$query->execute();
}
}
?>
This code displays following error
Notice: Undefined variable: key in C:\xampp\htdocs\marksheet\class.php on line 53
Notice: Undefined variable: query in C:\xampp\htdocs\marksheet\class.php on line 57
Fatal error: Uncaught Error: Call to a member function bindParam() on null in C:\xampp\htdocs\marksheet\class.php:57 Stack trace: #0 {main} thrown in C:\xampp\htdocs\marksheet\class.php on line 57