У меня есть этот PHP код:работает Mysqli запрос внутри во время цикла
<?php
//include database
include 'db.php';
//grab the emails from the database
$sql = "SELECT email FROM `emails`";
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result, MYSQL_ASSOC)){
// update the database
//sanitinzw
$row = mysqli_real_escape_string($con, $row['email']);
//mail the emails
$to = $row;
$subject = 'HELLOO';
$message = 'alooooo';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
?>
Он работает просто отлично; однако, когда я добавляю к нему запрос, только первое электронное письмо в моей базе данных отправляется сюда, как оно выглядит.
<?php
//include database
include 'db.php';
//grab the emails from the database
$sql = "SELECT email FROM `emails`";
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result, MYSQL_ASSOC)){
// update the database
//sanitinzw
$row = mysqli_real_escape_string($con, $row['email']);
//mail the emails
$to = $row;
$subject = 'hello';
$message = 'aloooooo';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
$sql = "UPDATE `emails` SET times_used = times_used + 1 WHERE email = '$row' ";
$result = mysqli_query($con, $sql);
}
?>
по какой-то причине это только обновление первого сообщения электронной почты в базе данных, и когда я пытаюсь повторить из $ строки только первая электронная почта echoe'd
Спасибо за помощь
не уверен, mysqli_real_escape_string существует как функция ... или по крайней мере php.net не знает об этом .. –
да, это прекрасно работает первый блок кода работает идеально сво когда я добавляю его SQL messes up и только электронная почта и обновляет первое электронное письмо в базе данных – user3051232