php - INSERT INTO 后出错

标签 php mysql

我有以下代码:

$salt=uniqid(mt_rand(), false);
#Add data to tables
mysql_query("INSERT INTO accounts VALUES('$user', '".hash('sha512',$pass+$salt)."', '$salt', '$cookie_value')");
mysql_query("INSERT INTO passwordreset VALUES('$user', NULL, NULL)");
#cookie creation
#.....
#cookie update
mysql_query("UPDATE accounts SET cookie='$cookie_value' WHERE user='$user'");

我使用这些函数清理表单中的数据:

$var = htmlentities($var, ENT_QUOTES, "UTF-8");
return mysql_real_escape_string($var);

今天我登录到 phpMyAdmin,我看到所有用户的密码和 salts 都是相同的。 不要提醒我关于已弃用的 mysql_* 我知道,那只是草稿。

最佳答案

PHP 中的字符串连接使用 . 而不是 +。因此:

hash('sha512',$pass+$salt)

应该是

hash('sha512',$pass.$salt) // or
hash('sha512',"${pass}${salt}")

关于php - INSERT INTO 后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11774854/

相关文章:

php - 构建一个组件

javascript - 使用 Ajax 从不同列表中选择值后填充下拉列表

php - 在 x 个字符后分割字符串

MYSQL 空间查询 - 返回包含来自单独表的点的多边形

php - 无法使用 Volley 将数据发送到数据库

mysql - 需要帮助加速聚合 SQLite 查询

PHP 包含文件。显示找不到错误文件

php - php 的 mysql_real_escape_string() 的等效 javascript 代码是什么?

当 WHERE 子句有多个 IN 时,MySQL 检查太多行

mysql - 将查询合并为一个查询以进行优化