Следующий код создает нелегальное смещение ошибки каждый раз, когда while()
петли:Random "Незаконное смещение" ошибка
Предупреждения: Illegal строку смещение 'имя пользователя' в/Applications/MAMP/HTDOCS/админ/скриптах/email_owners_send .php на линии 48
Я пытаюсь установить $name
быть $email['username']
$email['username']
если не пуст, а если является пустым, $name
должен быть установлен на $email
. $email
устанавливается оператором while()
, с mysql_fetch_assoc()
. Это мой код на данный момент:
// print out all the email address recipients
$query = mysql_query("SELECT * FROM ownersemails WHERE deleted=0 LIMIT 5");
$recipients = '';
$total = mysql_num_rows($query);
$num = 0;
while($email = mysql_fetch_assoc($query)) {
// add to count
$num++;
// set email
$email = $email['email'];
// set name as username if apparant
if(!empty($email['username'])) {
$name = $email;
}
else {
$name = $email['username'];
}
// add to recipients string (=. append)
$recipients .= '{ "email": "'.$email.'", "name": "'.$name.'" }';
// only add a comma if it isn't the last one
if($num!=$total) {
$recipients .=',';
}
}
Пожалуйста, [прекратить использование '' mysql_ * функции] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). Они больше не поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Узнайте о [подготовленных заявлениях] (http://en.wikipedia.org/wiki/Prepared_statement) и подумайте об использовании [PDO] (http://jayblanchard.net/demystifying_php_pdo.html). –