Php 表单未在SQL数据库中填充

Php 表单未在SQL数据库中填充,php,html,sql,forms,Php,Html,Sql,Forms,当用户选择submit时,我试图将php表单中的一些数据填充到sql数据库中。但是,“animalClass”和“animalCommon”数据没有填充;但是,其他数据正在填充中。首先,我将发布HTML/PHP代码,然后是SQL db的一些屏幕截图。感谢您的关注和帮助 $db = get_db_connection('swcrc'); $db->connect(); //Process status update form if submitted if(isse

当用户选择submit时,我试图将php表单中的一些数据填充到sql数据库中。但是,“animalClass”和“animalCommon”数据没有填充;但是,其他数据正在填充中。首先,我将发布HTML/PHP代码,然后是SQL db的一些屏幕截图。感谢您的关注和帮助

$db = get_db_connection('swcrc');
    $db->connect();

    //Process status update form if submitted
    if(isset($_GET['admin_update']) && isset($_POST['request_id']) && 
       isset($_POST['status']) && $_POST['status'] != '')
    {
        $db->query("UPDATE dbo.Request SET status='%s' WHERE ID=%d", 
            $_POST['status'], 
            $_POST['request_id']);
        $db->query("INSERT INTO dbo.Response (request_ID, user_ID, complete, comment, response_date, animalClass, animalCommon) VALUES (%d, %d, '%s', '%s', '%s', '%s', '%s')",
            $_POST['request_id'], 
            $_POST['status_update_user_id'], 
            $_POST['status'], 
            $_POST['status_update_comments'],
            $_POST['date_completed'],
            $_POST['animalClass'],
            $_POST['animalCommon']);
        $msgs = "Status updated successfully.";
        $mode = "readonly";
    }
    //Process admin update form if submitted
    else if(isset($_POST['request_id']) && isset($_POST['completed']) && $_POST['completed'] != '')
    {
        $db->query("UPDATE dbo.Request SET status='%s' WHERE ID=%d", 
            $_POST['completed'], 
            $_POST['request_id']);
        $db->query("INSERT INTO dbo.Response (request_ID, user_ID, complete, comment, response_date, animalClass, animalCommon) VALUES (%d, %d, '%s', '%s', '%s', '%s', '%s')",
            $_POST['request_id'], 
            $_POST['completed_by_user_id'], 
            $_POST['completed'], 
            $_POST['not_completed'],
            $_POST['date_completed'],
            $_POST['animalClass'],
            $_POST['animalCommon']);
        $msgs = "Details updated successfully.";
接下来,我将发布select语句代码:

<p>
<label for="animalClass">Class</label>
<select id = "animalClass" name="animalClass">
<option>Select a Class:</option>
<option value="Amphibians">Amphibians</option>
<option value="Birds">Birds</option>
<option value="Cnidarians">Cnidarians</option>
<option value="Fish">Fish</option>
<option value="Invertebrates">Invertebrates</option>
<option value="Mammals">Mammals</option>
<option value="Reptiles">Reptiles</option>
</select>
</p>
<p>
<label for="animalCommon">Common Name</label>
                          <select name="animalCommon" id="animalCommon">
                            <option>Select a Common Name:</option>
                         <?php
$db = get_db_connection('swcrc');
$db->connect();
$db->query("SELECT [Common Name] FROM dbo.All_Animals");
while($row = $db->fetch())
{
?>
   <option value="<?php echo $row['ID'];?>"><?php echo $row['Common Name'];?></option>
<?php 
}
?>
                            </select>
                            </p>

<p>
<label for="animalScientific">Scientific Name</label>
                          <select name="animalScientific" id="animalScientific">
                            <option>Select a Scientific Name:</option>
                         <?php
$db = get_db_connection('swcrc');
$db->connect();
$db->query("SELECT [Scientific Name] FROM dbo.All_Animals");
while($row = $db->fetch())
{
?>
   <option value="<?php echo $row['ID'];?>"><?php echo $row['Scientific Name'];?></option>
<?php 
}
?>
                            </select>
                            </p> 
最后,这里是我在sql数据库中的结果快照。再次感谢您的关注,希望您能回答。您将在图中看到的问题是应在其中填充所选数据的空白区域。


我很好奇,为什么选择[通用名]和[学名]?如果您实际使用的是这种语法,我不完全确定它是否有效。如果这是列名称并包含空格,那么应该使用反勾号而不是括号。括号工作正常,我已经在SQL中对它们进行了测试,它们提取了我想要的信息。出于某种原因,如果我使用括号以外的任何内容,我不会获取任何信息。感谢您的回复。SQL测试和实时服务器测试不是一回事。语法有点不同。当我选择公共名称时,它会从公共名称列中提取所有不同的公共名称。哈哈哈,我喜欢“同一动物”双关语。我会试着给他们回电话,然后马上报告。