嘿我正在创建一个简单的登录表单,为了实现这个我有一个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()函数,但我不明白为什么一切似乎都是正确的。
答案 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);