Php 更新同一表中不同行中的多行

Php 更新同一表中不同行中的多行,php,mysql,Php,Mysql,我必须在单个查询中更新同一表中不同行中的多行,如下表所示 查询: update util SET util_value='$util_value_desc' where util_head ='wc_contact_us' update util SET util_value='$util_value_email' where util_head ='wc_email' update util SET util_value='$util_value_mobile' where util_h

我必须在单个查询中更新同一表中不同行中的多行,如下表所示

查询:

update util SET util_value='$util_value_desc' where util_head ='wc_contact_us'

update util SET util_value='$util_value_email' where util_head ='wc_email'

update util SET util_value='$util_value_mobile' where util_head ='wc_mobile'

update util SET util_value='$util_value_map' where util_head ='wc_google_map'
也用于选择查询以获取文本字段中的数据

$query=mysqli_query($connect,"SELECT util_value FROM util where util_head='wc_contact_us'");

                $row=mysqli_fetch_array($query);


                $util_value=$row['util_value'];
                $util_value_email=$row['util_value'];
                $util_value_map=$row['util_value'];
                $util_value_mobile=$row['util_value'];

您可以使用带有
大小写
表达式的更新:

UPDATE util
SET util_value = CASE util_head WHEN 'wc_contact_us' THEN ?
                                WHEN 'wc_email' THEN ?
                                WHEN 'wc_mobile' THEN ?
                                WHEN 'wc_google_map' THEN ? END
WHERE
    util_head IN ('wc_contact_us', 'wc_email', 'wc_mobile', 'wc_google_map');
将以下四个PHP变量绑定到四个占位符

$util_value_desc
$util_value_email
$util_value_mobile
$util_value_map

但这是一个相当冗长的查询,您可能希望在单个事务中使用单独的更新。

您可以使用带有
CASE
表达式的更新:

UPDATE util
SET util_value = CASE util_head WHEN 'wc_contact_us' THEN ?
                                WHEN 'wc_email' THEN ?
                                WHEN 'wc_mobile' THEN ?
                                WHEN 'wc_google_map' THEN ? END
WHERE
    util_head IN ('wc_contact_us', 'wc_email', 'wc_mobile', 'wc_google_map');
将以下四个PHP变量绑定到四个占位符

$util_value_desc
$util_value_email
$util_value_mobile
$util_value_map

但这是一个相当冗长的查询,您可能希望在单个事务中进行单独的更新。

这似乎不可能在单个语句中实现…这似乎不可能在单个语句中实现…我希望在select查询中也可以在textfield中获取行,如何做你应该问一个新问题。我希望这也在select查询中获取textfield中的行,如何做你应该问一个新问题。