2014-04-18 39 views
2

我正在更新我的添加帖子腳本,但現在我有一個問題,插入到MySQL的東西。添加新行,不插入到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不知道,因爲我是新來的這

+1

'add'保留[mysql word](https://dev.mysql.com/doc/refman/5.5/en/reserved-words.html)現在用反引號將其轉義,但它更好地改變它到另一個名字。 –

+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. 
+0

謝謝大家,不知道這個函數只是想保持行名短哈哈 – user3490572

0

Addreserved keyword ..

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

添加需要前綴與後綴'作爲列名的工作,否則其解釋爲關鍵字

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

試試這個

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

會工作,我希望。