小编Edv*_*lle的帖子

使用Mailchimp API 3列表/成员方法时发送欢迎电子邮件

有没有办法在使用Mailchimp API 3列表/成员方法时发送Mailchimp欢迎电子邮件?较旧的API实现可以在不需要自动化(付费功能)的情况下完成,但我不确定API 3是否支持List/Member方法.我指的是用户在使用标准Mailchimp表单注册时通常会收到的电子邮件.

例如,此脚本 不会发送欢迎电子邮件或任何其他后注册Mailchimp电子邮件.

$apikey = '<api_key>'; 
$auth = base64_encode( 'user:'.$apikey );

$data = array(
       'apikey'        => $apikey,
        'email_address' => $email,
        'status'        => 'subscribed',
        'merge_fields'  => array(
        'FNAME' => $name
            )
);
$json_data = json_encode($data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://us2.api.mailchimp.com/3.0/lists/<list_id>/members/');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic '.$auth));
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);                                                                                                                  

$result = curl_exec($ch); 
var_dump($result);
die('Mailchimp executed');
Run Code Online (Sandbox Code Playgroud)

mailchimp mailchimp-api-v3.0

9
推荐指数
2
解决办法
6241
查看次数

内部循环中的persist()和flush() - Doctrine

我想知道ff:代码将多少次进入数据库的中途.

foreach ($recipients as $recipient) {
    $received_email = new ReceivedEmail();
    $received_email->setRecipient($recipient);
    $received_email->setEmail($email);

    $entityManager->persist($received_email);
    $entityManager->flush(); 
}
Run Code Online (Sandbox Code Playgroud)

$recipients 是与ReceivedEmail具有一对多关系的User对象数组

$email 是与ReceivedEmail具有一对多关系的对象.

例如$recipients,如果有五个实体,循环是否总共产生五次数据库访问?还是只有一个?

以上示例是插入新ReceivedEmail记录的最佳方式吗?

谢谢

php collections orm doctrine data-access-layer

4
推荐指数
1
解决办法
2万
查看次数

在 php 中测试并发 mysql 插入操作

我想同时多次运行这个 php 脚本。

$db =  new mysqli('localhost', 'me', 'pw', 'test');   
$time = time();
$sql = "  INSERT INTO test  (  `test_created`  ) VALUES( ". $time  .") ";
$result = $db->query($sql);
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我想复制一个场景,其中许多用户在完全相同的时间提交数据库条目,直到纳秒,这就是我所说的“并发”插入。

我尝试通过指定执行的小时和分钟来使用我的共享托管服务提供商的虚拟 cron 调度程序。然后我制作了五个包含上述代码的相同文件。

但是,当我查看表条目时,插入的时间戳并不相同。这是因为mysql无法处理并发插入操作吗?如果 mysql 可以处理“并发插入”,这是测试并发插入操作的正确方法吗?如果没有,我应该如何在有或没有 cron 的 php 环境中进行测试?

php mysql concurrency cron

1
推荐指数
1
解决办法
529
查看次数