【发布时间】:2015-07-21 00:04:35
【问题描述】:
我的 php 有问题,我正在编写一个 php 文件以通过 printf 显示与数据库相关的 encrypted_password 的数据。我想选择值并将其显示在屏幕上,但不起作用,我已经这样做了:
$query = "SELECT * FROM `users` WHERE `email` = '$email' ORDER BY `users`.`uid` ASC LIMIT 0 , 30";
$result = $con->query($query); $row = $result->fetch_array(MYSQLI_ASSOC);
printf ("consulta %s nombre: %s email:(%s) salt: %s y pass: $s\n", $query,$row['name'], $row['email'],$row['salt'],base64_encode($row['encrypted_password']));
printf 按屏幕显示:
咨询 SELECT * FROM users WHERE email = 'elvega3009@msn.com' ORDER BY users.uid ASC LIMIT 0 , 30 nombre: XXXX email:(xxxxxxxx@msn.com ) salt: a3f7734b0e 是通过:
pass 字段不按屏幕显示,此数据在数据库中以base64_encode 编码,我不知道是否是问题,但我需要此数据按屏幕显示。 我需要帮助。提前非常感谢
【问题讨论】:
-
如果跳过 base64_encode 函数会发生什么?您是否看到“通过:”字段中的值?您是否尝试过 var_dump(base64_encode($row['encrypted_password']))?注意,base64_encode 是一种编码模式,很容易推导出来。对于密码,您需要像 md5 o sha 这样的加密机制(散列函数)。见stackoverflow.com/questions/3993937/…
标签: php database mysqli printf