繁体   English   中英

总是回归假 - OOP Php

[英]Always Return False - OOP Php

我是php环境中的新手,学习如何用简单的OOP格式进行编码。 我即将在我的class测试我的function ,看看用户是否已经注册。

这是我的: testController.php

<?php


error_reporting(E_ALL^ E_DEPRECATED);

require_once('test.php');
$test = new test();

$email = isset($_POST['emailAdd']) ? $_POST['emailAdd'] : '';

if ($test->emailExist($email)) {
    echo "TRUE";
}else {
    echo "FALSE";
}

?>

我的班级: test.php

<?php

error_reporting(E_ALL^ E_DEPRECATED);
require_once('dbConnectClass.php');

class test{
    private $db;
    public $getEmail;

    public function __construct(){
        $this->db = new dbConnectClass();
        $this->db->connectDatabase();
    }

    public  function emailExist($email)
    {
        $getEmail = $email;
        $sql = "SELECT EmailAddress FROM useryayong WHERE `EmailAddress` = '$email' ";

        $result = mysqli_query($this->db->connect,$sql);

            $no_of_rows = mysqli_num_rows($result);
            if ($no_of_rows > 0) {
                // user exist
                return true;
            } else {
                // user not exist
                return false;
            }

    }

}

这是我的: dbConnectClass.php

<?php
//INCLUDE DB
require('dbConnect.php');

class dbConnectClass{

    //VAR Connect
    public $connect;

    //CONSTRUCTOR
    public function __construct(){}    

    //DESTRUCTOR
    public function __destruct(){}

    //METHOD - CONNECT TO DATBASE
    public function connectDatabase(){

       $this->connect = mysqli_connect(DB_SERVER,
                                       DB_USER,
                                       DB_PASSWORD,
                                       DB_DATABASE) or die(mysqli_error($this->connect));

            //SET CUSTOM ERROR MESSAGE
            if (mysqli_connect_errno()) {
                die("Database connection failed");
            }else {
                return $this->connect;    
            }

    }

    //METHOD - CLOSE DATABASE CONNECTION
    public function closeDatabaseCon(){
        mysqli_close($this->connect);
    }    

}//END CLASS
?>

表:虚拟值 表

邮差 岗位

在我的表中存在dards@yahoo.com 所以它应该返回TRUE。

将构造函数更改为:

public function __construct(){
    $this->db = new dbConnectClass();
    $this->db->connectDatabase();
}

并且您的SQL语法有错误。 删除. 来自$email前面。

"SELECT EmailAddress FROM useryayong WHERE `EmailAddress` = '$email'";

我只是删除了isset($_POST['emailAdd']) ? $_POST['emailAdd'] : ''; isset($_POST['emailAdd']) ? $_POST['emailAdd'] : ''; 来自我的test.php $email

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM