首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据插入SQL数据库不起作用,但表示

将数据插入SQL数据库不起作用,但表示
EN

Stack Overflow用户
提问于 2016-01-16 07:42:51
回答 1查看 34关注 0票数 0

所以我现在的网站没有正确地插入数据。我确实有id和sub_date (提交日期),但是这些都是自动的,我想,所以不需要为它创建变量什么的?如果我错了就纠正我?

PHP代码:

代码语言:javascript
复制
<?php
if (isset($_POST['addBtn']))
{
    $m_titleAdd = $_POST['m_titleAdd'];
    $authorAdd = $_POST['authorAdd'];
    $statusAdd = $_POST['statusAdd'];
    $tutorialAdd = $_POST['tutorialAdd'];
    if (empty($errors))
    {
        $SQLinsert = $odb -> prepare("INSERT INTO `methods` VALUES(NULL, :id, :m_title, :sub_date, :status, :author, :tutorial)");
        $SQLinsert -> execute(array(':id' => null, ':m_title' => $m_titleAdd, ':sub_date' => null, ':status' => $statusAdd, ':author' => $authorAdd, ':tutorial' => $tutorialAdd));
        echo '<div class="nNote nSuccess hideit"><p><strong>SUCCESS: </strong>Method has been added</p></div>';
    }
    else
    {
        echo '<div class="nNote nFailure hideit"><p><strong>ERROR:</strong><br />';
        foreach($errors as $error)
        {
            echo '-'.$error.'<br />';
        }
        echo '</div>';
    }
}
?>

HTML代码:

代码语言:javascript
复制
<form action="" method="POST">
        <fieldset>
                <div class="formRow">
                    <label>Method Title:</label>
                    <div class="formRight"><input type="text" name="m_titleAdd" class="form-control round" style="width:300px;" /></div>
                    <div class="clear"></div>
                </div>
                <div class="formRow">
                    <label>Tutorial:</label>
                    <div class="formRight"><textarea style="resize:none;" rows="3" cols="15" name="tutorialAdd" class="autoGrow form-control round"></textarea></div>
                    <div class="clear"></div>
                </div>
                <div class="formRow">
                    <label>Author:</label>
                    <div class="formRight"><input type="text" name="authorAdd" class="form-control round" style="width:300px;" /></div>
                    <div class="clear"></div>
                </div>
                <div class="control-group">
                <label class="control-label">Type:</label>
                <div class="controls">
                <select class="btn btn-default dropdown-toggle" name="status" tabindex="1">
                <option value="Working" />Working
                <option value="Plausible" />Plausible
                <option value="Not Working" />Not Working
                </select>
                </div>
                </div><br>
                <div class="formRow">
                    <div style="width:100px;"><input type="submit" value="Add" name="addBtn" class="btn btn-primary btn-block btn-round" /></div>
                     <div class="clear"></div>
                </div><br>
        </fieldset>
    </form>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-16 08:49:32

$_POST‘’statusAdd‘是未定义的,在您的表单中它实际上被命名为status。因此,只需更改以下内容。

改变这一点:

代码语言:javascript
复制
$statusAdd = $_POST['statusAdd'];

对此:

代码语言:javascript
复制
$statusAdd = $_POST['status'];

然后,对于insert查询,请确保更改它,在本例中,不需要为id指定null:

代码语言:javascript
复制
VALUES(NULL, :id, etc

对此:

代码语言:javascript
复制
VALUES(:id, etc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34824699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档