0

我对此很陌生,所以这是我的坦率代码。

我的目标是让添加到 mysql 的新人更新到我的 mailchimp 列表中。我在学习的同时一步一步地做这件事。

如果我使用“echo”,mysql 代码将返回我想要的行。当手动将值输入代码时,mailchimp api 将更新列表。但是,如果我把它们放在一起,我会得到一个错误,说“,”是预期的。

我的猜测是它与变量 $row[0] 的 [0] 部分有关

谢谢您的帮助。

<?php
//mysql code

mysql_connect('localhost', '****', '****') or die( mysql_error() );
mysql_select_db('cla-constituents');



$result = mysql_query("SELECT per_FirstName, per_LastName, per_Email FROM person_per WHERE per_FriendDate > '2013-03-18'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

//echo $row[0]; // first name
//echo $row[1]; // last name
//echo $row[2]; // email




/**
This Example shows how to run a Batch Subscribe on a List using the MCAPI.php 
class and do some basic error checking or handle the return values.
**/

require_once 'inc/MCAPI.class.php';
require_once 'inc/config.inc.php'; //contains apikey

$api = new MCAPI($apikey);
$listId = "****3";



$batch[] = array('EMAIL'=>$row[0], 'FNAME'=>$row[1]), 'LNAME'=>$row[2]);
$batch[] = array('EMAIL'=>'boss2.man@email.org', 'FNAME'=>'Me2', 'LNAME'=>'Chimp2');

$optin = False; //yes, send optin emails
$up_exist = true; // yes, update currently subscribed users
$replace_int = false; // no, add interest, don't replace

$vals = $api->listBatchSubscribe($listId,$batch,$optin, $up_exist, $replace_int);

if ($api->errorCode){
    echo "Batch Subscribe failed!\n";
    echo "code:".$api->errorCode."\n";
    echo "msg :".$api->errorMessage."\n";
} else {
    echo "added:   ".$vals['add_count']."\n";
    echo "updated: ".$vals['update_count']."\n";
    echo "errors:  ".$vals['error_count']."\n";
    foreach($vals['errors'] as $val){
        echo $val['email_address']. " failed\n";
        echo "code:".$val['code']."\n";
        echo "msg :".$val['message']."\n";
    }}
?> 
4

1 回答 1

1
$batch[] = array('EMAIL'=>$row[0], 'FNAME'=>$row[1]), 'LNAME'=>$row[2]);

改成:

$batch[] = array('EMAIL'=>$row[0], 'FNAME'=>$row[1], 'LNAME'=>$row[2]);
于 2013-06-18T21:54:52.027 回答