【问题标题】:Random string not in DB随机字符串不在数据库中
【发布时间】:2015-07-09 03:23:19
【问题描述】:

PHP/MySQL 新手,我一直在尝试从其他一些帖子中复制检查随机字符串,但运气不佳,任何输入都会有所帮助。

目标是制作一个不在数据库中的随机 8 位密码。

    function generateQuickPin($length = 8) {

    define ("DB_HOST", "localhost"); //Databse Host.
    define ("DB_USER", "6eef"); //Databse User.
    define ("DB_PASS", "a0b1"); //database password.
    define ("DB_NAME", "timecard"); //database Name.

    $db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

    $flength = 1;
    $characters = '123456789';
    $charactersLength = strlen($characters);
    $randompin = '';
    for ($i = 0; $i < $flength; $i++) {
        $randompin .= $characters[rand(0, $charactersLength - 1)];
    }

    $length = $length - 1;
    $characters = '0123456789';
    $charactersLength = strlen($characters);
    for ($i = 0; $i < $length; $i++) {
        $randompin .= $characters[rand(0, $charactersLength - 1)];
    }

    $query = "SELECT * FROM `users` WHERE `quick_pin` = '$randompin' ";
    if ($db->query($query) === TRUE) {

        }else {
        $randomString = 'false '.$db->error;
        return $randomString;
    }
    if(mysqli_num_rows($result) > 0){ # in case a record with this "text" already exists, run this method again
        generateQuickPin(8);
    } else {
        return $randomString; # otherwise return the value/store it in the object
    }

}

谢谢

【问题讨论】:

    标签: php function random mysqli


    【解决方案1】:

    你在任何地方声明 $result 吗? 如果不是,请替换:

    if(mysqli_num_rows($result) > 0)
    

    if(mysqli_num_rows($db->query($query)) > 0)
    

    【讨论】:

    • 问题似乎在 IF 语句的第 26 行附近,如果它失败,它应该返回 false 并返回错误,但它只返回 false 而没有别的......
    • 你在哪里定义结果?我很确定 $db->query() 返回一个结果,所以不要使用:$db->query($query)===TRUE,使用 $db->query($query)!==false
    • 最后一个 if 语句说如果找到 go again else return randompin (已经修复了如果过去 if 的丢失类型)
    • 它应该返回错误吗?因为如果没有,请尝试更改答案所说的更改。
    • 倒数第二个 if 语句是检查数据库或错误输出。 if error echo false + db error 但它只返回 false 没有 pin 或错误
    猜你喜欢
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 2017-05-20
    • 2023-03-24
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 2014-02-09
    相关资源
    最近更新 更多