此时此刻,我想知道如何将两条记录插入数据库。两者几乎相同,只是只有一列值发生变化。
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$columns = array('col1','col2', 'col3', 'col4', 'col5');
$values = array(
$db->quote(A),
$db->quote(x1),
$db->quote(x2),
$db->quote(x3),
$db->quote(x4)
);
$values = array(
$db->quote(B),
$db->quote(x1),
$db->quote(x2),
$db->quote(x3),
$db->quote(x4)
);
...
如您所见,只有第一个值发生变化。有一些优雅的方法可以做到这一点吗?
最佳答案
您的代码似乎不完整,因为它没有将您的值分配给查询。
试试这个。它显示了如何将 $foo 的内容添加到表 #__mytable 中的 myColumn 列。
$query->insert($db->quoteName('#__mytable'))
->columns('myColumn');
->values(implode(',', array(
$db->quote($foo)
)));
$query->execute();
对于多个值,这会有所帮助:
foreach($myValues as $myValue) {
$query->values(implode(',', array(
$db->quote($myValue),
)));
}
虽然我的示例中只有一个值,但如果需要,可以添加多个列。只需扩展 columns() 和 value() 方法即可。
关于mysql - Joomla - 使用单个查询插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42385248/