在更新时保留数据库中的值

This is my table in my database. It should only contain one row. enter image description here

I have this code, that checks if there is no data , if there is not.. The data is inserted, else it's updated. The problem is, that if i update only Brevet, the value of Baccalaureabt will disappear from my database. Any help?

Code:

if(isset($_POST['submit']))
    {   $brevet = $_POST['Brevet'];
        $baccalaureatbt = $_POST['Baccalaureatbt'];


     $sql1="SELECT Brevet,Baccalaureatbt FROM university";
if ($result=mysqli_query($con,$sql1))
  {

  $rowcount=mysqli_num_rows($result);
  }
    if($rowcount==0)
     {
 $sql="INSERT INTO university(Brevet,Baccalaureatbt) VALUES('$brevet','$baccalaureatbt')";
 $result = mysql_query($sql);
     }
     else
     {
 $sql2 = "UPDATE university SET Brevet = '$brevet' , Baccalaureatbt = '$baccalaureatbt'";
 $result2 = mysql_query($sql2);
     }

To update the values dynamically, use the following code. Just add the values you want in the values array.

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

$brevet = $_POST['Brevet'];

$baccalaureatbt = $_POST['Baccalaureatbt'];


 $sql1="SELECT Brevet,Baccalaureatbt FROM university";

$result=mysqli_query($con,$sql1);
if ($result)
  {

  $rowcount=mysqli_num_rows($result);
  }
    if($rowcount==0)
     {
 $sql="INSERT INTO university(Brevet,Baccalaureatbt) VALUES('$brevet','$baccalaureatbt')";
 $result = mysql_query($sql);
     }
     else
     {
         $values = array("brevet","baccalaureatbt");
         $sql2 = "UPDATE university ";
         $n = 0;
         foreach($_POST as $key => $val) {
             if(in_array($key, $values)) {
                 $sql2 += ($n !== 0 ? ", " : 0);
                 $sql2 += "SET".$key." = ".$val;
                 $n++;
             }
             if($n > 0) {
                $result2 = mysql_query($sql2);
             } 
     }
    }
}

The issue is that you are setting both values, if however either $baccalaureatbt or $brevet is empty, it will be updated with a empty value, i.e the original value will be deleted.

There are multiple ways to avoid this, but one way to do it is like so:

$sql2 = "UPDATE university SET ";

if(!empty($brevet)){
    $sql2 .= "Brevet = '$brevet'";
    $first = 1;
}
if(!empty($baccalaureatbt)){    
    $sql2 .= isset($first) ? ", Baccalaureatbt = '$baccalaureatbt'" : "Baccalaureatbt = '$baccalaureatbt' " ;
}

$result2 = mysql_query($sql2);