SQL select语句将数据放入输入字段-“name”输入中的atribute不会使用php将数据传输到SQL insert语句

SQL select语句将数据放入输入字段-“name”输入中的atribute不会使用php将数据传输到SQL insert语句,php,mysql,sql,Php,Mysql,Sql,我使用了一个SQLSELECT语句来填充html表单中的select字段,现在我想获取select字段生成的值并将其插入到我的外键列中 我已经检查了我所有的字段名,以确保它们拼写正确,并再次检查了我的代码,我认为“escape_string”可能有问题,但我不确定如何修复它。我尝试使用“intval”,但它会给我错误。它提到的第86行是“$result”行 <?php if( isset($_POST['submit']) ) { $category_id =

我使用了一个SQLSELECT语句来填充html表单中的select字段,现在我想获取select字段生成的值并将其插入到我的外键列中

我已经检查了我所有的字段名,以确保它们拼写正确,并再次检查了我的代码,我认为“escape_string”可能有问题,但我不确定如何修复它。我尝试使用“intval”,但它会给我错误。它提到的第86行是“$result”行

    <?php
if( isset($_POST['submit']) )
{
    $category_id        = $mysqli->escape_string($_POST['fk_cat_port_id']);

    $project_title   = $mysqli->escape_string($_POST['proj_title']);

    $description_brief    = $mysqli->escape_string($_POST['des_brief']);

    $description_steps           = $mysqli->escape_string($_POST['des_steps']);

    $description_conclusion    = $mysqli->escape_string($_POST['des_conclusion']);

    $project_link      = $mysqli->escape_string($_POST['proj_link']);

    $project_date      = $mysqli->escape_string($_POST['proj_date']);

    $disclaimer     = $mysqli->escape_string($_POST['disclaimer_rights']);


//insert into database
$query = "INSERT INTO 
         company_profile (fk_cat_port_id, proj_title, des_brief, des_steps, 
                         des_conclusion, proj_link, proj_date, 
                         disclaimer_rights) 
         VALUES ('$category_id', '$project_title', '$description_brief', 
                  '$description_steps', '$description_conclusion', 
                  '$project_link', '$project_date', '$disclaimer')
                  ";

$result = $mysqli->query($query) or query_error($query, __LINE__, __FILE__);
 }   
?>


    <div class="form-group">
            <label for="fk_cat_port_id">Choose Category:</label>
            <select class="form-control" name="fk_cat_port_id" value="">
                <?php

                    $query_cat = "SELECT id_cat_port, port_cat_name 
                                  FROM portfolio_categories 
                                  ORDER BY port_cat_name DESC";

                    $result_cat = $mysqli->query($query_cat);

                     if(!$result_cat)
                     {
                         query_error($query_cat, __LINE__, __FILE__);
                     }

                // Do while loop to create option for each row in the database
                    while ($row_cat = $result_cat->fetch_object())
                    {
                        echo '<option value="' . $row_cat->id_cat_port . '">' . $row_cat->port_cat_name . '</option>';
                    }
                ?>
            </select>
        </div>
“字段列表”行中的未知列“fk\U目录端口id”:86

文件:/customers/b/f/b/tabithabjorkman.com/httpd.www/admin/pages/portfolio_create.php

插入 公司简介'fk\U cat\U port\U id','proj\u title','des\u brief','des\u steps','des\u conclusion','proj\u link','proj\u date', `免责声明"权利" 值“2”、“测试”、“测试”, “测试”,“测试”,“www.test.rg”,“2019-10-21T11:09:43”,“测试”


您的查询是正确的,请检查表中的列名。

我要感谢那些花时间回答我问题的人。 我一遍又一遍地看了一遍,终于找到了答案。 sql查询中出现错误,我在查询中输入了错误的表名。错误的表名非常相似,因此通过了我的检查。 但是,我学到了很多有关stackoverflow的知识,所以我不后悔,因为我经常使用这个平台来获取问题的答案,我希望我在这里的错误可以帮助其他人记住检查所有内容,并记住,付出额外的努力来命名表、类、ID是值得的,以命名约定为指导。

Unknown列的意思与它所说的完全相同。数据库告诉您,表company\u profile中不存在fk\u cat\u port\u id列。这就是奇怪的地方,它就在那里。我在上面的表格中添加了一个屏幕截图。我添加了。一切都匹配。我添加了表格的屏幕截图。