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