PHP + MySQL 插入不工作

标签 php html mysql sql-insert

我一直在寻找一些答案,但无法弄清楚发生了什么。

SQL 连接工作正常,我已经检查过了。所以我有这个 POST 方法。

  if(isset($_POST['new_data'])) {
    $new_nm = mysqli_real_escape_string($db, $_REQUEST['new_name']);
    $new_pstn = mysqli_real_escape_string($db, $_REQUEST['new_position']);
    ...
        $db->query("INSERT INTO data (name, position, description, twitter, email, image) VALUES('$new_nm', '$new_pstn',
            '$new_dscrpt', '$new_twt', '$new_mail', '$new_img')");
    }

这是我从中获取数据的表单:

<form role="form" method="post">
    <label>Name</label>
        <input name="new_name" class="form-control" />
    <label>Position</label>
        <input name="new_position" class="form-control" />
    ...
    <button type="submit" name="new_data">Submit!</button>
</form> 

当我点击按钮时,我没有插入数据。我究竟做错了什么?我有另一个具有不同名称的 POST 方法正在工作(该方法进行更新)。

非常感谢。

最佳答案

好吧,我会试着回答这个问题。

根据表结构,问题出在id字段,应该是int,AUTO_INCREMENT。

另外,我想对您的意见提出一些建议

if(isset($_POST['new_data'])) 
{
//Always check your input and sanitize it with htmlspecialchars() or htmlentities()
    $new_nm = htmlspecialchars(isset($_REQUEST['new_name']) ? $_REQUEST['new_name'] : "");
    $new_nm = mysqli_real_escape_string($db, $new_nm);

    ...
    $db->query("INSERT INTO data (name, position, description, twitter, email, image) VALUES('$new_nm', '$new_pstn',
            '$new_dscrpt', '$new_twt', '$new_mail', '$new_img')");
}

关于PHP + MySQL 插入不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44611661/

相关文章:

javascript - 无法让我的 js 在我的 Bootstrap 导航栏中工作

mysql - 在关系数据库中访问结果时出错

mysql - 在 Datagridview 中以格式显示数据

php - 通过 PHP 连接到 MySql 数据库句柄

php - preg_match_all() [function.preg-match-all] : Unknown modifier ']'

javascript - 如何测试输入的宽度是否是手动设置的?

mysql - 优化查询-mysql

php - TinyMCE 中的自定义格式 div 与以前的 div 合并

php - 如何在不到 1 分钟的时间内在 PHP 中计算 0 到 100000000 之间的质数?

javascript - 仅使用 HTML 和 CSS 制作一个简单的工具提示