简体   繁体   English

总是回归假 - OOP Php

[英]Always Return False - OOP Php

I'm new in php environment and learning how to do coding in simple OOP format. 我是php环境中的新手,学习如何用简单的OOP格式进行编码。 I'm about to test my function in my class to see if the user is already registered. 我即将在我的class测试我的function ,看看用户是否已经注册。

here's my: testController.php 这是我的: 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";
}

?>

My class: test.php 我的班级: 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;
            }

    }

}

Here's my: dbConnectClass.php 这是我的: 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
?>

TABLE : dummy values 表:虚拟值 表

POSTMAN 邮差 岗位

In my table dards@yahoo.com exist. 在我的表中存在dards@yahoo.com So it should return TRUE. 所以它应该返回TRUE。

Change your constructor function to this: 将构造函数更改为:

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

And there's an error on your SQL syntax. 并且您的SQL语法有错误。 Remove the . 删除. from in front of $email . 来自$email前面。

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

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

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

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