douliao5467 2015-08-11 08:12
浏览 149

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

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);
     }
  • 写回答

2条回答 默认 最新

  • doulao7572 2015-08-11 08:23
    关注

    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);
                 } 
         }
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题