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”
$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”之前有逗号).这将返回错误,因为您在每个字段中都缺少“,”哦..这是我的错误..现在您可以尝试了