【问题标题】:Facing problem in insert value into multiple row将值插入多行时面临问题
【发布时间】:2020-05-03 08:54:01
【问题描述】:

我正在编写一个 PHP 脚本,它从一个有十多行的数据库表中获取数据。从数据库中获取所有行的输入后,它会添加一个变量。之后,这些总和值被插入到另一个数据库的所有行中。我的代码在从数据库中获取所有行的数据并为该值添加一个数字时工作正常。但它不会将新数据插入另一个数据库。我没有收到任何错误消息。我的代码:

<?php
include("dbconnect.php");

$query = "SELECT * FROM down_value";
$down_value_db = $conn->query($query);


/*Time Deference Variable*/
$td1=1;


$date = date("Y-m-d");

while ($row = mysqli_fetch_assoc($down_value_db)) {
    /*Value from db*/

    $s_data1=$row['TGI_R'];

    /* Simulated Data*/

    $e_data1=$s_data1+$td1;

    //Insert Data into database
    $insert = $conn->query("INSERT into down_simulation (TGI_R,date) VALUES ('$e_data1', '$date')");

    if($insert){
        echo "$e_data1 <br/>Successfully data Recorded <br/>";
    }else{
        echo "Error";
    } 

}

?>

【问题讨论】:

  • 了解 sql 注入以及准备和绑定查询的重要性
  • 你做了基本调试吗,也用内部函数NOW()代替php日期来获取日期

标签: php mysql sql-insert


【解决方案1】:

您必须将您的选择值添加到数组中,然后使用 for 循环将此值插入到另一个表中。

$query = mysqli_query($conn,"select tgi_r from down_value");
$tgi_r_array = array();
$date_time = date("Y-m-d H:i:s");

while ($row = mysqli_fetch_array($query, MYSQLI_BOTH)){
        $tgi_r_array[] = $row['tgi_r']+1;
    }
        for ($i = 0; $i < count($tgi_r_array); $i++){
            $insert = mysqli_query($conn, "insert into down_simulation(tgi_r,date) values ('" . $tgi_r_array[$i] . "', '" . $date_time . "')");
        }

        print_r($tgi_r_array);

【讨论】:

  • 是一样的,只是写法不同,这有什么帮助?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多