添加了新行,不会插入到mysql中

时间:2014-04-18 11:09:14

标签: php sql

我正在更新我的添加帖子脚本,但现在我在将内容插入mysql时遇到了问题。

当我使用此INSERT INTO代码时:

                    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                    $id=$_POST['id'];
                    $title=$_POST['title'];
                    $pic=$_POST['pic'];
                    $youtube=$_POST['youtube'];
                    $cat=$_POST['cat'];
                    $NSFW=$_POST['NSFW'];



                    // insert data to mysql
                    $sql = "INSERT INTO post(id, title, pic, youtube, cat, NSFW)VALUES('$id', '$title', '$pic', '$youtube', '$cat', '$NSFW')";
                    $result=mysql_query($sql);
                    }

我可以将东西插入到我的mysql中,但我添加了一个名为add的新行

因此,如果我添加$add=$_POST['add'];并更改$sql

$sql = "INSERT INTO post(id, add, title, pic, youtube, cat, NSFW)VALUES('$id', '$add', '$title', '$pic', '$youtube', '$cat', '$NSFW')";

这不想再插入任何东西了。

修改
谢谢大家,不知道mysql的'添加'功能我的坏笑了我自己哈哈:P不知道,因为我是新来的

4 个答案:

答案 0 :(得分:0)

ADD是MySQL中的reserved word。你需要将它们包含在反引号中。

喜欢这个..

$sql = "INSERT INTO post(id, `add`, title, pic, youtube, cat, NSFW) VALUES ('$id', '$add', '$title', '$pic', '$youtube', '$cat', '$NSFW')";
                             ^   ^ //<--- Like that.

答案 1 :(得分:0)

Addreserved keyword ..

$sql = "INSERT INTO post(`id`,`add`,`title`,`pic`,`youtube`,`cat`,`NSFW`)
VALUES ('$id',
        '$add',
        '$title',
        '$pic',
        '$youtube',
        '$cat',
        '$NSFW')";

答案 2 :(得分:0)

添加需要加前缀并以`作为列名作为后缀,否则将其解释为关键字

$sql = "INSERT INTO post(id, `add`, title, pic, youtube, cat, NSFW)VALUES('$id', '$add', '$title', '$pic', '$youtube', '$cat', '$NSFW')";

答案 3 :(得分:0)

试试这个

$sql = "INSERT INTO post(`id`, `add`, `title`, `pic`, `youtube`, `cat`, `NSFW`) VALUES ('$id', '$add', '$title', '$pic', '$youtube', '$cat', '$NSFW')"

我希望能有效。