gpt4 book ai didi

Php mysql插入同一表id的数组键值

转载 作者:行者123 更新时间:2023-11-29 16:33:35 25 4
gpt4 key购买 nike

我有一个如下所示的数组。

enter image description here

我需要插入与同一 AdId 的每个索引对应的 ActionKeyActionValue 的所有值

即)
第 0 个索引 - sms - 213123 和

第一次索引调用 - 12313

我正在尝试类似的事情,但没有成功。

$sDate = date("Y-m-d H:i:s");
$values = array();
$d_actionKey = $this->params()->fromPost('d_ActionKey');
$d_actionValue = $this->params()->fromPost('d_ActionValue');

$sql = "INSERT INTO `AdActions` (`CreatedDate`,`ActionKey`,`ActionValue`) VALUES";

foreach($values as $value) {
$values[] = "($sDate, $d_actionKey, $d_actionValue)";
}

我的表格数据应该如下所示。

更新代码:

我需要从另一个表的最后插入值中获取 AdId。然后将最后插入的 AdId 插入到 AdActions 中

$adActionsInsert = $this->getAdLibraryTable()->saveAdd($dataArray);

$query='INSERT INTO `AdActions` (`AdId`,`CreatedDate`,`ActionKey`,`ActionValue`) VALUES ';
for($i=0; $i < count($adActionsArray['ActionKey']); $i++)
{
if($i!=0)
$query .= ', ';

$query .= sprintf("(%d,'%s', '%s', '%d')",
$adActionsInsert,
$adActionsArray['CreatedDate'],
$adActionsArray['ActionKey'][$i],
$adActionsArray['ActionValue'][$i]);
}

我能够获取如下所示的最后一个插入值(从模型文件中)

$this->tableGateway->lastInsertValue;

enter image description here

最佳答案

如果要将 $data 数组插入到 AdActions 表中。您可以像这样构建查询。

$data = [
'CreatedDate' => '2018-12-12 08:04:32',
'ActionKey' => [
0=>'sms',
1=>'call'
],
'ActionValue' => [
0 => 213123,
1 => 12313
]
];
$query='INSERT INTO `AdActions` (`CreatedDate`,`ActionKey`,`ActionValue`) VALUES ';
for($i=0; $i < count($data['ActionKey']); $i++)
{
if($i!=0)
$query .= ', ';
$query .= sprintf("('%s', '%s', '%d')",
$data['CreatedDate'],
$data['ActionKey'][$i],
$data['ActionValue'][$i]);
}
echo $query;

这应该给你一个像这样的查询

INSERT INTO `AdActions` (`CreatedDate`,`ActionKey`,`ActionValue`) VALUES ('2018-12-12 08:04:32', 'sms', '213123'), ('2018-12-12 08:04:32', 'call', '12313')

关于Php mysql插入同一表id的数组键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53738699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com