如何在PHP中使用爆破更新多个数据

丹尼斯

我有一个脚本,用于使用implode方法在PHP中插入多个数据,但是我不知道如何在UPDATE语法中使用它。

<input type="text" name="field_name" value="unyil"/>

使用这样的PHP:

foreach($_POST['id_table'] as $row=>$id_table)
{
    $id_table=$id_table;
    $full_name=$_POST['full_name'][$row];

    $query_row[] = "('$id_table','$full_name')";
}

$sql="INSERT INTO tb_client_table_rows (id_table, full_name) VALUES " . implode(',',$query_row); 

if (!mysql_query($sql))
{
    die('Error: ' . mysql_error());
}

但是,如何将其用于更新行值?

尼瑟·恩格斯特伦

Mohamed Hossam在对MySQL参考手册的评论中发布了以下内容

一种非常服务器资源友好的方法来更新同一表中的多行,方法是使用WHEN THEN(有一个非常重要的说明)。

UPDATE tbl_name SET fld2 = CASE fld1
WHEN val1 THEN data1
WHEN val2 THEN data2
ELSE fld2 END

注释是:不要忘记ELSE如果不使用它,则所有超出更新值范围的行都将设置为空白!

(强调和格式已添加。)


在此基础上,你可以使用implode来构建一个UPDATE具有多个值的查询:

<?php

  /* Sample data: */

  $_POST['id_table'] = array ('1746', '1834', '1944');
  $_POST['full_name'] = array ('lumbar', 'bezoar', 'sniggle');

  /* Code */

  foreach($_POST['id_table'] as $row=>$id_table)
  {
    /* Don't forget to escape data to avoid SQL injection */

    $id_table  = mysql_real_escape_string ($id_table);
    $full_name = mysql_real_escape_string ($_POST['full_name'][$row]);

    $query_row[] = "'$id_table' THEN '$full_name'";
  }

  $query = "UPDATE tb_client_table_rows\n"
         . "   SET full_name = CASE id_table\n"
         . "                     WHEN "

         . implode ("\n                     WHEN ", $query_row) 

         . "\n                     ELSE full_name\n"
         . "                   END";

  echo "$query\n";

输出:

UPDATE tb_client_table_rows
   SET full_name = CASE id_table
                     WHEN '1746' THEN 'lumbar'
                     WHEN '1834' THEN 'bezoar'
                     WHEN '1944' THEN 'sniggle'
                     ELSE full_name
                   END

请注意,MySQL扩展已被弃用,不再维护。这些天您应该使用MySQLiPDO

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在PHP中使用爆破更新多个数据

来自分类Dev

如何在PDO中使用爆破

来自分类Dev

如何在opencart中使用多个数据库?

来自分类Dev

如何在PHP中的MySQL查询中使用多个数据库名称作为变量

来自分类Dev

如何在foreach循环中使用爆破功能

来自分类Dev

如何在Android中使用PHP MYSQL更新数据

来自分类Dev

如何在Grails 1.3.3中使用多个数据源

来自分类Dev

如何在多个数据库中使用EXCEPT子句

来自分类Dev

如何在R中使用相同的循环向量引用多个数据库?

来自分类Dev

如何在R中的SQLDF中使用LIKE在多个数据框中搜索文本

来自分类Dev

如何在R中使用lapply对包含多个数据帧的列表进行采样?

来自分类Dev

如何在实体框架中使用多个数据库?

来自分类Dev

如何在rdlc C#报表中使用多个数据集

来自分类Dev

如何在Wordpress中使用单个数据库运行多个网站

来自分类Dev

如何在laravel中使用选择选项发送多个数据?

来自分类Dev

如何在laravel项目中使用多个数据库连接?

来自分类Dev

如何在python中使用for循环创建多个数据框

来自分类Dev

如何在带有PHP和XPath的foreach语句中使用多个数组

来自分类Dev

如何在php中使用for循环过滤多个数组值?

来自分类Dev

如何在Swift中使用多个数组解析JSON

来自分类Dev

如何在纯sh中使用多个数组?

来自分类Dev

如何在多个 collectionView 部分中使用单个数组?

来自分类Dev

如何在PHP的一页中使用2个数据库连接

来自分类Dev

PHP MySQLi - 在一个过程中使用一些公式更新多个数据

来自分类Dev

如何使用where条件更新多个数据

来自分类Dev

如何从多个数组中使用php选择重复等级

来自分类Dev

如何在MongoDB中使用多个条件更新多个文档?

来自分类Dev

如何在多个数据块上使用DeflateStream?

来自分类Dev

PHP / MySQL / AJAX - 更新多个数据

Related 相关文章

  1. 1

    如何在PHP中使用爆破更新多个数据

  2. 2

    如何在PDO中使用爆破

  3. 3

    如何在opencart中使用多个数据库?

  4. 4

    如何在PHP中的MySQL查询中使用多个数据库名称作为变量

  5. 5

    如何在foreach循环中使用爆破功能

  6. 6

    如何在Android中使用PHP MYSQL更新数据

  7. 7

    如何在Grails 1.3.3中使用多个数据源

  8. 8

    如何在多个数据库中使用EXCEPT子句

  9. 9

    如何在R中使用相同的循环向量引用多个数据库?

  10. 10

    如何在R中的SQLDF中使用LIKE在多个数据框中搜索文本

  11. 11

    如何在R中使用lapply对包含多个数据帧的列表进行采样?

  12. 12

    如何在实体框架中使用多个数据库?

  13. 13

    如何在rdlc C#报表中使用多个数据集

  14. 14

    如何在Wordpress中使用单个数据库运行多个网站

  15. 15

    如何在laravel中使用选择选项发送多个数据?

  16. 16

    如何在laravel项目中使用多个数据库连接?

  17. 17

    如何在python中使用for循环创建多个数据框

  18. 18

    如何在带有PHP和XPath的foreach语句中使用多个数组

  19. 19

    如何在php中使用for循环过滤多个数组值?

  20. 20

    如何在Swift中使用多个数组解析JSON

  21. 21

    如何在纯sh中使用多个数组?

  22. 22

    如何在多个 collectionView 部分中使用单个数组?

  23. 23

    如何在PHP的一页中使用2个数据库连接

  24. 24

    PHP MySQLi - 在一个过程中使用一些公式更新多个数据

  25. 25

    如何使用where条件更新多个数据

  26. 26

    如何从多个数组中使用php选择重复等级

  27. 27

    如何在MongoDB中使用多个条件更新多个文档?

  28. 28

    如何在多个数据块上使用DeflateStream?

  29. 29

    PHP / MySQL / AJAX - 更新多个数据

热门标签

归档