php - 使用 PHP 批量输入 SQL 行

标签 php html mysql sql sql-server

我正在尝试为我正在为工作开发的午餐散步网站为具有团队队长特权的人批量输入。

船长将检查用户是否包含在查询中,输入该用户的里程数,然后提交查询。服务器将这些值推送到数组中,并使用 for 循环遍历表单并将数据插入到 sql 数据库中。

当您检查所有成员或仅检查列表中的第一个成员时,下面的代码有效。

但是,如果您不选中第一个成员,它将根本不会继续运行查询,甚至在查询失败时也不会采取任何行动。在我看来,错误发生在它尝试运行插入查询之前。

谁能告诉我我做错了什么?此外,欢迎提供有关一般编码礼仪的其他说明。我是自学成才的,所以我不是最擅长的,并且总是欢迎提示和技巧来提高我在这方面的技能。

谢谢

   <?php
                    if($_SERVER['REQUEST_METHOD'] != 'POST')
                        {

                        $SQL_Get_Team = "SELECT * FROM User_Account WHERE User_Account_Team_Key = '".$_SESSION['Team_ID']."'";
                        $Result_Get_Team = mysql_query($SQL_Get_Team);

                        echo'<form class="form-signin" role="form" data-toggle="validator" method="post" action="">';
                        echo'<table class="table table-striped" width="100%">
                            <tr>
                                <th>ID</th>
                                <th>Name</th>
                                <th>Miles</th>
                                <th>Include</th>
                            </tr>';
                        while($Team = mysql_fetch_assoc($Result_Get_Team))
                            {
                            echo '<tr>
                                    <td><input type="hidden" name="key[]" value="'.$Team['User_Account_Key'].'">'.$Team['User_Account_Key'].'</td>
                                    <td>'.$Team['User_Account_Name'].'</td>
                                    <td><input name="Miles[]" type="text" class="form-control" placeholder="Miles" autofocus></td>
                                    <td style=text-align:"center;"><input type="checkbox" name="include[]" value="Yes"></td>
                                  </tr>';
                            }
                        echo'   </table>
                                <br>
                                <br>
                                <button class="btn btn-lg btn-primary btn-block" type="submit">Add Miles</button>
                            </form>';
                        }

                    else
                        {

                            $key = $_POST["key"];
                            $Miles = $_POST["Miles"];
                            $include = $_POST["include"];
                            $length = count($key);
                            for($x=0;$x<$length;$x++)
                                {
                                if($include[$x] != 'Yes')
                                    {

                                    }
                                else
                                    {
                                    if($Miles[$x] == 0)
                                        {

                                        }
                                    else
                                        {
                                        echo 'User: '.$key[$x] . ' Miles: '.$Miles[$x]. '<br/>';
                                        $SQL_Add_Miles = 'INSERT INTO Miles(Miles_User_Key, Miles_Team_Key, Miles_Amount, Miles_Date)
                                                              VALUES("' . mysql_real_escape_string($key[$x]) . '",
                                                                     "' . mysql_real_escape_string($_SESSION['Team_ID']) . '",
                                                                     "' . mysql_real_escape_string($Miles[$x]) . '",
                                                                     "'.date("Y-m-d").'"
                                                                    )';
                                        $Result_Add_Miles = mysql_query($SQL_Add_Miles);

                                        if(!$Result_Add_Miles)
                                            {
                                                echo '<div style="text-align: left;" class="page-wrap">An error occured while updating account. Please try again later.<br /><br />' . mysql_error(). '</div>';
                                            }
                                        else
                                            {
                                                echo '<div style="text-align: left;" class="page-wrap">Updated account.</div>';
                                            }
                                        }
                                    }
                                }
                        }   
                      ?>

最佳答案

当您运行查询时,将 or die(mysql_error()); 添加到末尾,如下所示:

$Result_Add_Miles = mysql_query($SQL_Add_Miles) or die(mysql_error());

这至少会告诉您错误是什么。

关于php - 使用 PHP 批量输入 SQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28505287/

相关文章:

javascript - 我的字体系列无法呈现 "straight quotes"。我应该怎么办?

javascript - 使用 javascript 聚焦不会像使用 Tab 时那样显示复选框的轮廓样式

PHP 基于任意搜索查询在电子邮件数据库中搜索电子邮件地址和正文内容

php - 如何让这个正则表达式匹配</span>

php - 如何根据年底将月份和年份存入数据库

html - 响应时将图像置于 div 标签的中心

C# Mysql Link Combobox 与文本框中的数据库值

php - 显示图像 Blob ,可能编码错误

php - group_concat MYSQL换行

php - 使用 SELECT 选项从 PHP 插入外键值