我正在尝试使用 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
但是当我省略键列及其值时,相同的查询运行良好。 那么这里的问题是什么? 数据库:
key varchar(128) utf8_general_ci
最佳答案
key
是 reserved word
在 MySQL 中。将其括在反引号中!
像这样..
$query = "INSERT INTO confirm (`key`, angemelde
^ ^ ------ Like that
自 PHP 5.5.0
起,此 (mysql_*
) 扩展已弃用,并将在未来删除。相反,应该使用 MySQLi
或 PDO_MySQL
扩展。切换到 PreparedStatements
可以更好地抵御 SQL 注入(inject)攻击!
^^
关于php - 将 md5 哈希插入 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22423681/