Php foreach数据插入

标签 php mysql joomla

您好,我有一个基于 Joomla + php + Mysql 的应用程序。传递给函数的数组将被插入到 mysql 数据库中。以下是我的代码。

public function setItems($params,$type)
{
$search_id = 1;
$query = $db->getQuery( true );
$columns = array('query_type','query_name','search_id');
foreach($params['banks'] as $key=>$value){
            $values = array($db->quote('bank'), $db->quote($value), $db->quote($search_id));
            $query->insert($db->quoteName('#__bank_parameters'))
              ->columns($db->quoteName($columns))
              ->values(implode(',',$values));
             $db->setQuery($query);
             $db->query();

        }

}

params输出如下:

Array
(
    [0] => bank1
    [1] => bank2
)

现在的问题是,我只插入了一个数据,而不是上面参数中的 2 个。这里可能缺少什么?谢谢

最佳答案

InsertColumns 应该使用一次,Values 应该使用多次:

// Create the base insert statement.
$query
   ->clear()
   ->insert(    $db->qn('#__bank_parameters'))
   ->columns(   array('query_type', 'query_name', 'search_id'))
;

foreach ($params['banks'] as $key => $value)
{
    $query->values(implode(', ', $db->q(array('bank', $value, $search_id))))
}

// Set the query and execute the insert.
$db->setQuery($query);

关于Php foreach数据插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704965/

相关文章:

php - 没有 CSS 的 WordPress 后端

php - MySql 查询省略了最后记录的行

php - 带有 "WHERE title like %post%"的 MySQL 查询返回一个空结果集

javascript - jQuery 与 Joomla YooTheme WidgetKit 冲突

php - 搜索 MySQL 数据库

php - 在 php 中,如何获取 XMLHttpRequest 的 send() 方法的文本/纯文本值

php - Nginx/PHP FPM 优雅停止 (SIGQUIT) : not so graceful

javascript - 如何阻止连接提前关闭?

css - Joomla 更改菜单项颜色

joomla - 如何编辑我的 Joomla 登录页面?