у меня есть что-то очень странное, мой код в основном работает нормально, если я это сделать:Почему мой 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))
Не имеет смысла, если он работает нормально с эхом!
вы перезаписаны '$ result' в петле. Используйте другое имя переменной. –