2015-09-03 4 views
0

у меня есть что-то очень странное, мой код в основном работает нормально, если я это сделать:Почему мой php/mysql 'WHILE' не работает?

include_once ('includes/MailChimp.php'); 
use \Drewm; 

$con = mysql_connect("localhost","db_username","db_password"); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("db_database", $con); 

$result = mysql_query("SELECT username, user_id, email FROM db_users"); 

while ($user = mysql_fetch_array($result)) 
{ 


     echo $user['username']; 
     echo '<br>'; 


} 

mysql_close($con); 

Он печатает все имена пользователей. Нет ошибок. Но потом я извлекаю 2 эхо линии и заменить их следующим образом:

$result = $MailChimp->call('lists/subscribe', array(
       'id'    => 'x', 
       'email'    => array('email'=>$user['email']), 
       'merge_vars'  => array('USERNAME'=>$user['username'], 'UID'=>$user['user_id']), 
       'double_optin'  => false, 
       'update_existing' => true, 
       'replace_interests' => false, 
       'send_welcome'  => false, 
)); 

И вдруг больше не работает, что дает мне эту ошибку:

PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, array given 

И это говорит мне, что линия ошибка:

while ($user = mysql_fetch_array($result)) 

Не имеет смысла, если он работает нормально с эхом!

+2

вы перезаписаны '$ result' в петле. Используйте другое имя переменной. –

ответ

2

Вы перезапись переменного $ результата

$result = mysql_query("SELECT username, user_id, email FROM db_users"); 

и

$result = $MailChimp->call('lists/subscribe', array... 

изменение $ результат вара для других, и она работает

+1

Doh! Спасибо огромное! – user1227914

+0

Если это работает, пожалуйста, оцените ответ –

Смежные вопросы