如何检查MYSQLi是否存在电子邮件

时间:2013-02-11 15:50:48

标签: mysqli

我11岁,我正在为我和我的朋友们建立一个聊天网站。我正在使用MYSQLi来处理数据库事物,我对它有点新意。我总是使用普通的mysql。

哦!如果你可以分享一个mysqli教程的链接,那就太好了:))

这是我的配置文件

   <?PHP                     


define("HOST", "localhost");  define("USER", "root");  define("PASSWORD", "****"); define("DATABASE", "secure_login");

$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);

?>

数据库是secure_login,然后我有一个名为members的表,然后是该表中名为email的列。

我将其包含在文件(register.php)中,我必须检查电子邮件是否存在。如果它存在,则重定向到家。

如果你们可以帮助我,那就太酷了!我希望尽快完成这个:)

1 个答案:

答案 0 :(得分:0)

我首先阅读http://php.net/manual/en/book.mysqli.php处的MySQLi文档,具体说明与该类相关的方法。如果您需要我建议在Google上搜索的教程,网上有很多教程。

关于你的问题,这样的事情应该有效:

$query = "SELECT email FROM members WHERE USER = ? AND PASS = ?";

if ($stmt = $mysqli->prepare($query)){
        // Bind the parameters, these are the ?'s in the query.
        $stmt->bind_param("ss", $username, sha1($password));
        // Execute the statement
        if($stmt->execute()){
            // get the results from the executed query
            $stmt->store_result();

            $email_res= "";         
            // This stores the value of the emailaddres inside $email_res
            $stmt->bind_result($email_res);


            $stmt->fetch();

            // There is a result
            if ($stmt->num_rows == 1){

                             // Validate the emailadres here, check the PHP function filter_var() 

            }
            else {
                   // Not a valid email
            }
        }
        else {
            printf("Execute error: %s", $stmt->error);
        }

    }
    else {
        printf("Prepared Statement Error: %s\n", $mysqli->error);
    }
}

我希望这会有所帮助