我很新,所以這裏是我的代碼。我的php變量導致一個mailchimp api錯誤
我的目標是將新人添加到mysql更新到我的mailchimp列表。我一邊學習,一邊做這一步。
如果我使用「echo」,mysql代碼將返回所需的行 當手動將值輸入代碼時,mailchimp api將更新列表。 但是,如果我把它們放在一起,我會得到一個錯誤,說','是預期的。
我的猜測是,它與變量$行[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'=>'[email protected]', '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";
}}
?>
*必須:*本'mysql_ *'功能將被已廢棄在PHP 5.5](http://php.net/manual/en/ faq.databases.php#faq.databases.mysql.deprecated)。不建議編寫新代碼,因爲它將來會被刪除。相反,無論是[MySQLi](http://php.net/manual/en/book.mysqli.php)還是[PDO](http://php.net/manual/en/book.pdo.php)和[是一個更好的PHP開發人員](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 –
看起來像'$ row [1]':'$ batch [] = array('EMAIL'=> $ row [0],'FNAME'=> $ row [1]),'LNAME '=> $ row [2]);' – showdev
所以我是一個總noob。我會改變,但你能告訴我使用確切的命令嗎? – wlraider70