我有一個簡單的問題後,我用一個類裏面在那裏我有:檢查查詢時從另一個PHP頁面
/////MY CLASS
public function resetpassword($upass,$tokenrecover,$usermail)
{
try
{
global $statreset;
$new_password = password_hash($upass, PASSWORD_DEFAULT);
$stmt = $this->conn->prepare("UPDATE users SET user_pass = '".$new_password."' WHERE verification_token = '".$tokenrecover."'");
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
$stmt->bindparam(":upass", $new_password);
if ($stmt->execute()){
$statreset ="TRUE";
......
現在,我是新這個東西,也許問題將是愚蠢的,但是當我從另一個頁面運行功能:
////OTHER_PAGE.PHP
$user->resetpassword($upass,$tokenrecover,$usermail);
echo $statreset;
if ($statreset =="TRUE"){
echo "query done";
}
我把變量$ statreset,當我運行在本地主機上一切工作的腳本...但這是正確的方法?我的意思是,我在本地主機上嘗試,如果服務器很慢,該怎麼辦?
if($ statreset ==「TRUE」){將在類的查詢完成時運行?
確實有意義嗎?還有另一種方法可以知道何時以更好的方式完成查詢?
非常感謝您
謝謝你,我是新這個東西,但是當我打電話:$用戶> resetpassword($ upass,$ tokenrecover,$ usermail);我稱之爲功能的主頁將等待執行?使「echo $ statreset;」會迴音好嗎?這是有道理的我的問題?謝謝 – Ribis
沒問題!是的,它會等待執行。您對'resetpassword()'的調用將同步運行,並且'resetpassword()'函數內的所有函數調用(包括數據庫訪問調用)也將同步運行。因此,您不需要任何特殊代碼來等待返回值 - 默認情況下,在恢復執行之前,您的代碼已經等待了'resetpassword()'的返回值。 – nb1987