php - 什么是 "Resource#' s”?

标签 php mysql variables hash passwords

你好

当我打印以下变量时,我得到了 Resource#6 和 Resource#7:

$salty_password = sha1($row['salt'], $_POST['password']);

if(isset($_POST['subSignIn']) && !empty($_POST['email']) && !empty($_POST['password'])) {


    $query =  "SELECT `salt` FROM `cysticUsers` WHERE `Email` = '" . $_POST['email'] . "'";
    $request = mysql_query($query,$connection) or die(mysql_error());
    $result = mysql_fetch_array($request);



    $query2 = "SELECT * FROM `cysticUsers` WHERE `Email` = '". $_POST['email']."' AND `Password` = '$salty_password'";
    $request2 = mysql_query($query2,$connection) or die(mysql_error());
    $result = mysql_fetch_array($request2);

    print_r($request);
    print_r($request2);

if(@mysql_num_rows($request,$request2)) {


        $_SESSION['CLIFE']['AUTH'] = true;
        $_SESSION['CLIFE']['ID'] = $result['id'];

        // UPDATE LAST ACTIVITY FOR USER
        $query = "UPDATE `cysticUsers` SET `LastActivity` = '" . date("Y-m-d") . " " . date("g:i:s") . "' WHERE `id` = '" . mysql_real_escape_string($_SESSION['CLIFE']['ID']) . "' LIMIT 1";
        mysql_query($query,$connection);


        if(!empty($_POST['return'])) {
            header("Location: " . $_POST['return']);

        }else{
            header("Location: CysticLife-Dashboard.php?id=" . $_SESSION['CLIFE']['ID']);
            }
        }

    }else{

        $_SESSION['CLIFE']['AUTH'] = false;
        $_SESSION['CLIFE']['ID'] = false;

    }


?>

正在尝试解决此代码块问题,但不确定这意味着什么。我正在尝试使用经过哈希和加盐处理后注册的明文密码重新登录。我觉得我很接近,但有点不对劲。也将不胜感激帮助解释为什么这不起作用。

提前致谢

最佳答案

mysql_query() 将结果集作为 resource 类型的对象返回(就 PHP OOP 代码而言,它们不是对象,但我想不出更好的词)。它们包含只能由某些函数读取的二进制数据,例如 mysql_fetch_*() 函数。

要调试您的 MySQL 查询,您应该使用 mysql_error()mysql_errno() 检查错误和/或将您的 SQL 语句保存在变量中并打印它们。

据我所知,您正在执行两个查询但覆盖了相同的 $result 变量,而没有对第一个进行任何操作。此外,mysql_num_rows() 一次只能计算一个结果集,因此您不能将两个结果集传递到同一调用中。

关于php - 什么是 "Resource#' s”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4831364/

相关文章:

php - 如何配置 Zend_Form 以使用数组表示法?

php - 如何使用 TLS 和 PHP 发送 iOS 推送通知?

variables - 在 PowerShell 中创建动态命名变量

perl - 使用eval初始化Perl变量

java - 如何使用用户输入创建可变长度参数?

PHP切片关联数组

php - MySQL innoDB 外键从三个表中级联删除

mysql - 我需要使用外键从多个表中删除多行

javascript - 使用 Ajax 从 PHP 获取 Echo 到 Div

mysql - VB.Net Silverlight 项目和 MySQL