如何在数据库中存储此密码

时间:2013-06-29 09:39:04

标签: php mysql

 <?php

if(isset($_POST['submit'])) {

include ("connect/connect.php");  

static function generatePassword($length = 8) {
    $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $i = 0;
    $password = "";
    while ($i <= $length) {
        $password .= $chars{mt_rand(0, strlen($chars))};
        $i++;
    }
    return $password;
}

$sql="INSERT INTO `users`(`password`) VALUES ('$password')";

$result=mysql_query($sql,$conn) or die(mysql_error());

?>

我想在我的数据库中存储这个“$ password”。但我不能把它直接放到一个PHP文件并存储它。因为我收到一个错误。有谁知道怎么做??

谢谢!

5 个答案:

答案 0 :(得分:2)

您必须调用该函数并将其值存储在变量中。

$pass = generatePassword();
$sql="INSERT INTO `users`(`password`) VALUES ('$pass')";

答案 1 :(得分:1)

您不使用您的功能。 试试这个:

$sql="INSERT INTO `users`(`password`) VALUES ('".generatePassword()."')";

答案 2 :(得分:1)

您应该调用已定义的函数并将其存储在变量$password中,否则代码中不会定义变量$ password。

$password = generatePassword();

答案 3 :(得分:0)

function generatePassword($length = 8) {
    $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $i = 0;
    $password = "";
    while ($i <= $length) {
        $password .= $chars{mt_rand(0, strlen($chars))};
        $i++;
    }
    return $password;
}

$password = generatePassword(8) ;
$sql="INSERT INTO `users`(`password`) VALUES ('{$password}')";

答案 4 :(得分:0)

您已将generatePassword函数定义为静态函数。并且您没有定义任何类,因此通过删除static将函数从静态函数更改为简单函数。你是usin $ password变量,但你没有调用generatePassword函数来获取值,所以你需要先调用函数。尝试下面给出的代码。

if(isset($_POST['submit'])) {

include ("connect/connect.php");  

function generatePassword($length = 8) {
    $chars = "1234567890abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $i = 0;
    $password = "";
    while ($i <= $length) {
        $password .= $chars{mt_rand(0, strlen($chars))};
        $i++;
    }
    return $password;
}
$password = generatePassword();
$sql="INSERT INTO `users`(`password`) VALUES ('$password')";

$result=mysql_query($sql,$conn) or die(mysql_error());