PHP调用方法不会运行它,它只会保持加载状态

问题描述 投票:-2回答:1

我正在尝试从另一个文件中调用方法,但是当代码到达该行时,它只是保持加载状态,不会继续运行,并且该函数不会返回任何内容。我有使用array和连接参数的函数,我从其他php调用它。

函数.php:

class OperatiiBD
{

//getting a specified token to send push to selected device
public function getTokenByEmail($email){
            require_once 'conn.php';
    $stmt = $conn->prepare("SELECT token_notificare FROM informatii_persoane WHERE adresa_mail = ?");
    $stmt->bind_param("s",$email);
    $stmt->execute(); 
    $result = $stmt->get_result()->fetch_assoc();
    return $result['token_notificare'];        
}
public function getEmailById($array_utiliz, $conn){
    $max = count($array_utiliz);
    $i=0;
    while($i < $max){
    $stmt = $conn->prepare("SELECT adresa_mail FROM informatii_persoane WHERE id_utilizator = ?"); 
    $stmt->bind_param("s",$array_utiliz[$i]);
    $stmt->execute();
    $result = $stmt->get_result()->fetch_assoc();
    $array_adrese_mail[]=$result;
    }
    return $array_adrese_mail;        
}
}

我的称呼方式:

require_once 'OperatiiBD.php';
$db = new OperatiiBD();             
echo $db->getEmailById($utilizatori_notificari, $conn);

我已检查,$utilizatori_notificari返回[79,34,109],正是所需的输出。

php
1个回答
2
投票

创建类的经典而简单的解决方案如下,无需包含OperatiiBD.php

class OperatiiBD {
    protected $conn;

    function __construct($conn) {
        $this->conn = $conn;
    }

    public function getTokenByEmail($email) {
        $stmt = $this->conn->prepare("SELECT token_notificare FROM informatii_persoane WHERE adresa_mail = ?");
        $stmt->bind_param("s", $email);
        $stmt->execute();
        $result = $stmt->get_result()->fetch_assoc();
        return $result['token_notificare'];
    }
}

呼叫班(乌萨克):

require_once 'OperatiiBD.php';
$YouCls = new OperatiiBD($conn);
$user = $YouCls->getTokenByEmail($_POST['email']);
© www.soinside.com 2019 - 2024. All rights reserved.