繁体   English   中英

如何对多个数组的每个循环使用单个语句以更新单个sql语句

[英]How to use single for each loop for multiple array to update single sql statement

我想对两个数组分别使用单个。

数组1:具有图像路径(路径根据用户需要是动态的)

数组2:每个图像都有值描述字段(根据用户需要动态描述)

我只想使用一个sql语句在sql表中插入两个数组。

<?php $sql="INSERT INTO posts(title,description,category,createdBy,pictureURL,CreatedAt) VALUE ('$title',
                '$description','$category','$creatdby','Admin/PostImages/$finalpath',now());"; 
                $result = mysqli_query($conn,$sql);
                if($result)
                {

                     $upload_directory = 'PostImages/';                      
                      $field_values_array = $_REQUEST['desc'];
                          $x=0;  
                          foreach($field_values_array as $value1){
                          foreach ( $_FILES['photo']['name'] AS $key => $value ){
                               //Move file to server directory
                               if(move_uploaded_file($_FILES["photo"]["tmp_name"][$x], $upload_directory . $_FILES["photo"]["name"][$x])){
                               $finalpath=$upload_directory . $_FILES["photo"]["name"][$x];
                               }
                               if (isset($_SESSION['p_id'])){
                        $p_id = $_SESSION["p_id"];
                        }
                              $sql1="INSERT INTO `postimages`(`p_id`,`description`, `img_path`) VALUES ('$p_id','$value1','$finalpath')"; 
                                  $result1 = mysqli_query($conn,$sql1);                 
                              $x++;  
                          }
                    }       
                        header("Location: uploadpost_test.php");                        

                }
                else
                {
                    echo "Error: " . $sql . "<br>" . $conn->error;
                } ?>

我重构并清理您的代码。 尝试这个。

                    if(isset($_SESSION['p_id']))
                    {
                        $p_id = $_SESSION["p_id"];
                    }
                    $values = '';
                    $next = ',';
                    $len = count($field_values_array);
                    foreach($field_values_array as $x=>$value1)
                    {

                        if(move_uploaded_file($_FILES["photo"]["tmp_name"][$x], $upload_directory.$_FILES["photo"]["tmp_name"][$x]))
                        {
                           $tmp_name = $_FILES["photo"]["tmp_name"][$x];
                           $finalpath = $upload_directory.$tmp_name;
                           $next = $x >= $len-1 ? '' : $next;
                           $values .= "VALUES('$p_id','$value1','$finalpath')".$next;
                        }
                    }
                    $sql1="INSERT INTO `postimages`(`p_id`,`description`, `img_path`) $values"; 
                    $result1 = mysqli_query($conn,$sql1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM