如何使用mySQL

时间:2015-06-27 02:43:52

标签: php mysql

我正在尝试创建一个简单的php登录,如果输入了正确的用户名和密码,则会弹出一条消息,说“登录”。我跟着一个youtube视频做这个,因为我很新的PHP,并不知道我在做什么,但我一直在收到错误。我的代码在下面。在html / php代码中是发生错误的地方,但我不知道要将其更改为。

<?php

class DatabaseManager
    {
        private $servername = "localhost";
        private $username = "root";
        private $password = "";
        private $dbname = "sokodatabase";
        public $dbc;

        function __construct() {
            $this->dbc = mysqli_connect($this->servername, $this->username, $this->password, $this->dbname);
        }

        function __destruct() {
            mysqli_close($this->dbc);
        }
?>

HTML / php代码......

            <?php
                require_once('../sokodatabase.php');

                if(isset($_POST['submit'])){
                    $username = $_POST['username'];
                    $password = $_POST['password'];
                    $query = "SELECT * FROM Users WHERE username='".$username."' AND password='".$password."'";
                    $sql = mysqli_query($select) or die(mysql_error()); //<--ERROR

                    if(mysql_num_rows($sql) == 1){//<--ERROR
                        echo "you logged in";
                        exit();
                    }
                    else{
                        echo "incorrect";
                        exit();
                    }
                }
            ?>  

            <h3>Sign in</h3>
            <form method="post" action="home.php">
            <input type="text" placeholder="Username" class="txtBox" name="username"/></br>
            <input type="text" placeholder="Password" class="txtBox" name="password"/></br></br>                
            <input type="submit" value="login" class="btn" name="submit"/>
            </form>

1 个答案:

答案 0 :(得分:2)

$sql = mysqli_query($select) or die(mysql_error()); 
  • 您没有在查询中连接到您的数据库,连接参数应该是第一个参数。

然后将mysql_error()读作mysqli_error(),同时将db connection作为参数传递。

然后这个mysql_num_rows是另一个不与mysqli_混合的MySQL_函数 - 它需要添加i添加到mysqli_num_rows

参考文献: