繁体   English   中英

从PHP中的多维数组将数据插入数据库

[英]Insert data to database from the multi-dimensional array in PHP

我需要将一些数据插入存储在多维数组中的mysql数据库中。

我有单独的值,并准备将数据放入数据库。 它引起了一个问题,即它报告语句“ chccheung.BookingDate(Room,Date,From,To)”的部分格式/语法不正确,并且在“ From,To)”附近也有错误。

经过测试和调试后,我找不到解决该问题的任何解决方案,任何人都可以帮助我,谢谢。

   open the database connection
   .......
       foreach($Booking as $key => $value){
        $rmID = $key;   
        foreach($value as $format => $array){
            foreach($array as $date => $detail){
                $bookDate = $date; 
                foreach($detail as $period =>$fromTo){
                    if($period=="user"){
                        $user = $fromTo;//$query = "INSERT INTO RmBooking_Applicant(user) VALUES ($fromTo)"; 
                    }
                    if($period=="username"){
                        $userID = $fromTo;//$query = "INSERT INTO RmBooking_Applicant(username) VALUES ($fromTo)"; 
                    }
                    if($period=="from"){
                        $fromTime = $fromTo;//$query = "INSERT INTO BookingDate(From) VALUES ($fromTo)";
                    }
                    if($period=="to"){
                        $toTime = $fromTo;//$query = "INSERT INTO BookingDate(To) VALUES ($fromTo)";
                    }
                }
            }
        }                   
    }
    $bookingInformation = "INSERT INTO testingData.BookingDate(Room,Date,From,To) VALUES($rmID,$date,";
    $bookingInformation .= implode(',', $fromTo);
    $bookingInformation .= ")";
    $applicantDetails = "INSERT INTO testingData.RmBooking_Applicant(username,user) VALUES(";
    $applicantDetails .= implode(',', $userID);
    $applicantDetails .= implode(',', $user);;
    $applicantDetails .= ")";
    ......
    close database connection

fromto是MySQL保留的关键字。 可以将它们包装在反引号中,也可以为这些列使用其他名称。


"INSERT INTO testingData.BookingDate(Room,Date,`From`,`To`)...

//$query = "INSERT INTO BookingDate(`From`)

//$query = INSERT INTO BookingDate(`To`)...

将错误报告添加到您的文件中http://php.net/manual/en/function.error-reporting.php

取决于使用的API

如果是PDO,则添加$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 在连接打开之后。 $pdo是使用的连接变量。

如果不是PDO,则在mysqli_mysql_使用等效项,目前尚不清楚您正在使用哪个MySQL API。

or die(mysqli_error($con))mysqli_query()
or die(mysql_error())mysql_query()

两种方式的使用:

error_reporting(E_ALL);
ini_set('display_errors', 1);

在文件顶部。

暂无
暂无

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

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