Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在while循环中运行mysqli查询_Php - Fatal编程技术网

Php 在while循环中运行mysqli查询

Php 在while循环中运行mysqli查询,php,Php,我有以下php代码: <?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

我有以下php代码:

<?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: admin@admin.com' . "\r\n" .
               'Reply-To: admin@admin.com' . "\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: admin@admin.com' . "\r\n" .
               'Reply-To: admin@admin.com' . "\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);
}

?>

您正在重写
$result
变量,该变量也用于while循环。在第一次迭代之后,
$result
被设置为更新查询的结果,因此没有其他行可以获取

您可以这样写,例如:

$sql = "UPDATE `emails` SET times_used = times_used + 1 WHERE email = '$row' ";
$result2 = mysqli_query($con, $sql);

这应该是可行的(如果没有其他错误)。

您正在重写
$result
变量,该变量也在while循环中使用。在第一次迭代之后,
$result
被设置为更新查询的结果,因此没有其他行可以获取

您可以这样写,例如:

$sql = "UPDATE `emails` SET times_used = times_used + 1 WHERE email = '$row' ";
$result2 = mysqli_query($con, $sql);

这应该是可行的(如果没有其他错误)。

您正在重写
$result
变量,该变量也在while循环中使用。在第一次迭代之后,
$result
被设置为更新查询的结果,因此没有其他行可以获取

您可以这样写,例如:

$sql = "UPDATE `emails` SET times_used = times_used + 1 WHERE email = '$row' ";
$result2 = mysqli_query($con, $sql);

这应该是可行的(如果没有其他错误)。

您正在重写
$result
变量,该变量也在while循环中使用。在第一次迭代之后,
$result
被设置为更新查询的结果,因此没有其他行可以获取

您可以这样写,例如:

$sql = "UPDATE `emails` SET times_used = times_used + 1 WHERE email = '$row' ";
$result2 = mysqli_query($con, $sql);

这应该可以(如果没有其他错误)。

不确定
mysqli\u real\u escape\u string
是否作为函数存在。。。或者至少php.net不知道。。更详细地说,使用
mysql\u real\u escape\u string
(我猜您想要使用的)参数的作用是相反的:

$row = mysql_real_escape_string($row['email'],$con);

不确定
mysqli\u real\u escape\u string
是否作为函数存在。。。或者至少php.net不知道。。更详细地说,使用
mysql\u real\u escape\u string
(我猜您想要使用的)参数的作用是相反的:

$row = mysql_real_escape_string($row['email'],$con);

不确定
mysqli\u real\u escape\u string
是否作为函数存在。。。或者至少php.net不知道。。更详细地说,使用
mysql\u real\u escape\u string
(我猜您想要使用的)参数的作用是相反的:

$row = mysql_real_escape_string($row['email'],$con);

不确定
mysqli\u real\u escape\u string
是否作为函数存在。。。或者至少php.net不知道。。更详细地说,使用
mysql\u real\u escape\u string
(我猜您想要使用的)参数的作用是相反的:

$row = mysql_real_escape_string($row['email'],$con);

不确定mysqli\u real\u escape\u字符串是否作为函数存在。。。或者至少php.net不知道。是的,它工作得很好。第一段代码工作得很完美。当我添加sql时,它会出错,只会发送电子邮件并更新数据库中的第一封电子邮件。不确定mysqli\u real\u escape\u字符串是否作为函数存在。。。或者至少php.net不知道。是的,它工作得很好。第一段代码工作得很完美。当我添加sql时,它会出错,只会发送电子邮件并更新数据库中的第一封电子邮件。不确定mysqli\u real\u escape\u字符串是否作为函数存在。。。或者至少php.net不知道。是的,它工作得很好。第一段代码工作得很完美。当我添加sql时,它会出错,只会发送电子邮件并更新数据库中的第一封电子邮件。不确定mysqli\u real\u escape\u字符串是否作为函数存在。。。或者至少php.net不知道这一点。是的,它工作得很好。第一段代码工作得很完美。当我添加sql时,它会出错,只发送电子邮件并更新数据库中的第一封电子邮件