duanjizhan9353 2014-04-16 17:57
浏览 24
已采纳

MySQLi不插入md5哈希[重复]

This question already has an answer here:

    $date       = date('Y-m-d');
    $key        = md5(uniqid(rand(), true));

    $title  = mysqli_escape_string($dbc, $title);
    $content    = mysqli_escape_string($dbc, $content);
    $author     = mysqli_escape_string($dbc, $author);

    $query  = "INSERT INTO fpdf (title, authorID, content, dateCreated, dateEdited, key)
                  VALUES ('$title', '$author', '$content', '$date', '$date', '$key')";


    $result     = mysqli_query($dbc, $query);
    if(!$result) {
        echo "Database fout opgetreden.<br>";
        printf("Error: %s
", mysqli_error($dbc));
    }



//// mysqli_error()
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key) VALUES ('werwerwer', '3', 'wrtwerw', '2014-04-16', '2014-04-16', '' at line 1 

Either I've been looking at this for too long or I'm crazy. If I remove the key altogether from the insert it works fine.

`key` varchar(32) DEFAULT NULL
</div>
  • 写回答

1条回答 默认 最新

  • dp411805872 2014-04-16 17:59
    关注

    key is a reserved keyword. If you are going to use it you must wrap it in ticks;

    $query  = "INSERT INTO fpdf (title, authorID, content, dateCreated, dateEdited, `key`)
                  VALUES ('$title', '$author', '$content', '$date', '$date', '$key')";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?