Php 我可以在函数中使用参数并在下面的if语句中回显它吗

Php 我可以在函数中使用参数并在下面的if语句中回显它吗,php,sql,function,variables,Php,Sql,Function,Variables,我遇到一个问题,无法在其他函数中使用函数中的参数更具体地说是$studentnumber参数,是否可能在其他函数中使用参数,使用的参数是动态参数。我是PHP新手,所以我的术语可能已经过时了。我的最终目标是使$studentnumber能够用于其他函数 public function login($studentnumber, $password) { $conn = dbconnection(); $stmt = $conn->prepare

我遇到一个问题,无法在其他函数中使用函数中的参数更具体地说是$studentnumber参数,是否可能在其他函数中使用参数,使用的参数是动态参数。我是PHP新手,所以我的术语可能已经过时了。我的最终目标是使$studentnumber能够用于其他函数

public function login($studentnumber, $password) {
            $conn = dbconnection();
            $stmt = $conn->prepare("SELECT * FROM login WHERE studentnumber = :studentnumber");
            $stmt->bindParam(':studentnumber', $studentnumber);
            $stmt->execute();
            $row = $stmt->fetch();
            if ($password == $row['password']) {
                echo $studentnumber;
                return true;
            } else {
                return false;
            }
        }

将studentnumber存储在会话中,然后您可以检索任何有多种方法使变量“可用于”其他函数的地方。您使用的版本取决于您的代码结构/用例。例如,如果您使用的是php类,则可以将该值分配给类变量(private或public,具体取决于需要使用该变量的其他函数),也可以使用public函数返回该值。或者以最简单的形式,您可以从login函数返回值(返回$studentnumber而不是返回true)。@smartdroid感谢这些函数,它们位于一个类中,所以我想我会将其分配给一个类变量。我是否应该考虑将它保存为会话变量,或者这会是一个错误的做法吗?如果变量在代码中发生变化,那么将其分配给会话变量被一些人认为是不好的做法。但是会话变量在这种情况下会起作用。我的首选是将其分配给类变量。谢谢@smartdroid
public function login($studentnumber, $password) {
            $this->studentnumber = $studentnumber;
            $conn = dbconnection();
            $stmt = $conn->prepare("SELECT * FROM login WHERE studentnumber = :studentnumber");
            $stmt->bindParam(':studentnumber', $studentnumber);
            $stmt->execute();
            $row = $stmt->fetch();
            if ($password == $row['password']) {
                echo $this->studentnumber;
                return true;
            } else {
                return false;
            }
        }