我已经对旧的Joomla网站进行了数据库更新查询,它看起来像下面的代码。当然,这只是一个例子。实际查询包含50个name_x
。我要做的是使其“更小”。换句话说,如何使用for
或while
作为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/