PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP-MySQLi查询中的问题-时间戳大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我的查询有问题.

数据库中的字段(用户标识,代码,时间戳)

我想在此代码中验证是否存在一个用户ID和相应的代码,但已插入的时间少于一天,否则显示消息“链接已过期”

我的代码在没有此行timestAMPDIFF(DAY,CURTIME(),timestamp)<的情况下运行良好. 1“). 目前,时间戳条件不返回任何内容

"SELEct userid, code from password_reset  where userid=? and code=? and timestAMPDIFF(DAY, CURTIME(), timestamp) < 1"

这段代码有问题吗?基本上,我的想法是:如果时间戳超过一天,则向用户返回错误.

我的脚本(问题仅出在查询的时间戳条件下)

if (checkBd ($sql, $db, $user, $codePass)){
            $user = (int)MysqLi_real_escape_String($db, $userid);
            $codePass = MysqLi_real_escape_String($db, $_GET['code']);

            ($sql = $db->prepare("SELEct userid, code from password_reset  where userid=? and code=? and timestAMPDIFF(DAY, CURTIME(), timestamp) < 1"));

            $sql->bind_param('ss', $user, $codePass);

            $sql->execute();

            $sql->bind_result($user, $codePass);

            if ($sql->fetch()) {
                    $_SESSION['u_name']= sha1($user);
                    header("LOCATIOn: @R_618_9531@ePass.PHP");
                    return true;
            }

    }
            $sql->close();
    $db->close();

解决方法:

您想传递一个datetiR_668_11845@E值,而不只是一个TIME,使用Now()而不是CURTIME(). (如果要忽略一天中的时间,请使用CURDATE().

同样,颠倒参数顺序,就像函数执行datetiR_668_11845@e2-datetiR_668_11845@e1一样.

有关更多详细信息,请参见documentation.

timestAMPDIFF(DAY, `timestamp`, Now()) < 1

为列名使用保留字也无济于事.

大佬总结

以上是大佬教程为你收集整理的PHP-MySQLi查询中的问题-时间戳全部内容,希望文章能够帮你解决PHP-MySQLi查询中的问题-时间戳所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: