mysql - 如何在数据库更新查询中使用FOR或WHILE?

标签 mysql sql database joomla mysqli

我已经对旧的Joomla网站进行了数据库更新查询,它看起来像下面的代码。当然,这只是一个例子。实际查询包含50个name_x。我要做的是使其“更小”。换句话说,如何使用forwhile作为name_x而不是一一写出呢?我只是不知道语法...

if (isset($_POST['button_save']) or isset($_GET['button_save'])){
    $gmdb = & JFactory::getDBO();
    $update_query = "UPDATE jos_tablename
                        SET id     = '".$_POST["id"]."',
                            name_1 = '".$_POST["name_1"]."',
                            name_2 = '".$_POST["name_2"]."',
                            name_3 = '".$_POST["name_3"]."',
                            name_4 = '".$_POST["name_4"]."',
                            name_5 = '".$_POST["name_5"]."',
                            name_6 = '".$_POST["name_6"]."'
                      WHERE id     = 'something'";
    $gmdb->setQuery($update_query);
    $gmdb->query();}

最佳答案

对于初学者来说,这是一种更新数据库信息的非常不安全的方法,其次是在html页名称上的所有输入字段name="name[]",这样它们就可以作为数组发送,您可以简单地通过foreach($_POST["name"] as $array)循环遍历。

关于mysql - 如何在数据库更新查询中使用FOR或WHILE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942643/

相关文章:

php - 如何用php将mysql列放入数组中?

sql - 数据库ID最佳做法

c# - 带单引号的 SQL 查询

sql - 提升到 postgresql 中的继承表

mysql - 这应该是什么数据库字段?

MySQL 阿拉伯语格式问题 UTF-8 值转换

mysql - 在 my.cnf 配置文件中使 MySQL 使用 utf-8

java - java中可以通过trunk加载mysql数据trunk吗?

php - 如何防止 PDO 错误上的密码转储

sql - Presto 语法中的 FROM UNIX TIME