Php 将两个字符串更改为一个并将它们分开以创建更新查询?

Php 将两个字符串更改为一个并将它们分开以创建更新查询?,php,mysql,sql,string,Php,Mysql,Sql,String,变量中有这两个字符串 $column=“名称,正文” $data=“testname,testbody” 我想从中动态地进行更新MySQL查询 查询的输出应如下所示 $query = "UPDATE `mytable` SET `name`='testname',`body`'testbody' WHERE id=1"; 或者将字符串组合为变量 $generatedquery = "columnname='value',columnname='value'" $query = "UPDATE

变量中有这两个字符串

  • $column=“名称,正文”
  • $data=“testname,testbody”
  • 我想从中动态地进行更新MySQL查询

    查询的输出应如下所示

    $query = "UPDATE `mytable` SET `name`='testname',`body`'testbody' WHERE id=1";
    
    或者将字符串组合为变量

    $generatedquery = "columnname='value',columnname='value'"
    
    $query = "UPDATE `mytable` SET $generatedquery WHERE id=1";
    

    以上两个变量是动态的,它们可以有多个值。

    将此代码用于动态字段

    $field = explode(',',$column);
    $value = explode(',',$data);
    $query = "UPDATE `mytable` SET ";
    for($i=0;$i<count($field);$i++){
       $query .= $field[$i]." = '".$value[$i]."' ";
       if($i<count($field)-1){
         $query .= ", ";
       }
    }
    $query .= " WHERE id=1";
    
    $field=分解(',',$column);
    $value=分解(“,”,$data);
    $query=“更新`mytable`SET”;
    对于($i=0;$i你可以这样尝试

     $column = "name,body";
    $data = "testname,testbody";
    
    
    $column_arr=explode(",",($column));
    $data_arr=explode(",",($data));
    
    foreach($column_arr as $ckey=>$cval){
      $where[]=$cval."='".$data_arr[$ckey]."'";
    }
    
    echo $query = "UPDATE `mytable` SET ".implode(",",$where)." WHERE id=1";
    

    使用下面的代码,它可以帮助您

    <?php
    
    $column = "name,body"
    $data = "testname,testbody"
    
    
    $column_arr=explode(",",($column));
    $data_arr=explode(",",($data));
    
    foreach($column_arr as $ckey=>$cval){
      $where[]=$cval."=".$data_arr[$ckey];
    }
    
    $query = "UPDATE `mytable` SET implode(",",$where) WHERE id=1";
    ?>
    
    
    
    查看
    explode()
    分成两个数组,然后使用
    foreach
    循环注意:未定义的变量:iDone。现在注意:未定义的偏移量:2:(如何删除最后一个不必要的逗号?更新
    test
    SET name='test',body='tetstnh',=''WHERE id=4将此更正的行用于($I=0;$ist在“WHERE”之前有逗号).这将返回错误,因为您在每个字段中都缺少“,”哦..这是我的错误..现在您可以尝试了