PHP登录表单问题

时间:2014-01-20 00:56:13

标签: php mysql

嘿我正在创建一个简单的登录表单,为了实现这个我有一个3文件index.php,login.php和connect_db.php。

Index.php包含一个带有用户名和密码输入字段的简单html表单以及一个提交表单的按钮。

login.php从index.php获取数据输入并将其存储到数组中以供进一步处理。

connect_db.php包含本地主机数据库的连接详细信息。

connect_db.php包含在login.php中。当我尝试检查我的数据库连接是否成功时,我得到这样的错误:

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\mailer\connect_db.php on line 11

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\mailer\login.php on line 11
Select * from usersasdasd

index.php:

    <html>
    <head>
        <title></title>
    </head>
<body>

<form action='login.php' method="POST" name="form" >
    Username: <input type="text" id="username" name="username" />
    <br>
    Password: <input type="password" id="password" name="password" />
    <br>
    <input type="submit" value="Login" id="submit" name="submit"/>
</form>
</body>
</html>

的login.php:

<?php
include('connect_db.php');
//collect data
$data=Array();

$data['username'] = $_POST['username'];
$data['password'] = $_POST['password'];

$sql = "Select * from users";
$query = mysqli_query($db, $sql);
echo $sql;


echo $data['username'];

?>

connect_db.php:

<?php
//connect to db

define('DB_HOST', "127.0.0.1");
define('DB_USER', "root");
define('DB_PASSWORD', "");
define('DB_NAME', "mailer");

$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);
$db = mysqli_select_db(DB_NAME,$con);



?>

从错误消息中可以清楚地看到mysqli_connect_db()&amp; mysqli_query()函数,但我不明白为什么一切似乎都是正确的。

1 个答案:

答案 0 :(得分:1)

您需要连接到连接对象:

$query = mysqli_query($con, $sql);

这一行:

$db = mysqli_select_db(DB_NAME,$con);

是来自mysql_库的错误翻译。您可以在连接字符串中选择数据库:

mysqli_connect("myhost","myuser","mypassw","mydb")

所以在你的情况下:

$con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);