【问题标题】:Insert md5 hash into mysql database将 md5 哈希插入 mysql 数据库
【发布时间】:2014-03-15 12:15:18
【问题描述】:

我正在尝试使用 php 将 md5 哈希插入到 mysql 数据库表中。

        $key = $email . date('mY');
        $key = md5($key);

        $query = "INSERT INTO confirm (key, angemeldet_von, geschlecht, geburtstag)
            VALUES('$key', '$angemeldet_von', '$geschlecht', '$geburtstag')";
        $confirm = mysql_query($query, $connectionID)
          or die('failed connecting: ' . mysql_error());

此查询返回错误:

failed connecting: 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, angemeldet_von, geschlecht, geburtstag) VALUES('8fe3ec75be1a43b49eacd3' at line 1

但是当我省略键列及其值时,相同的查询效果很好。 那么这里的问题是什么? mysql:

key varchar(128)    utf8_general_ci

【问题讨论】:

标签: php mysql md5


【解决方案1】:

key 是 MySQL 中的 reserved word。用反引号括起来!

像这样..

$query = "INSERT INTO confirm (`key`, angemelde
                               ^   ^ ------ Like that

此(mysql_*) 扩展自PHP 5.5.0 起已弃用,并将在未来删除。相反,应该使用MySQLiPDO_MySQL 扩展名。切换到PreparedStatements 可以更好地抵御 SQL 注入攻击! ^^

【讨论】:

    猜你喜欢
    • 2017-02-28
    • 2014-04-05
    • 2013-08-09
    • 2015-10-13
    • 2012-07-28
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    相关资源
    最近更新 更多