【发布时间】:2019-11-03 10:46:37
【问题描述】:
我正在学习将 MySQL 与 PHP 一起使用,并且在练习时,我尝试使用 Core PHP 和 MySQL 创建一个简单的 Web 应用程序。总结如下:
-它有一个非常简单的 html 页面,其中 MySQL 的用户名(uname)和密码(pword)以表单形式输入,并通过 POST 方法发送到名为 PHP1.php 的 PHP 脚本
-PHP1 连接到 MySQL。代码是(跳过PHP标签):
//Get input username and password
$username = $_POST['uname'];
$password = $_POST['pword'];
//Server information
$server = "localhost";
//Connect
$conn = new mysqli($server, $username, $password);
//Check success/failure
if ($conn -> connect_error)
{
die("Connection failed".$conn->connect_error);
}
连接后,PHP1 检索存储在各个帐户中的数据库信息,并显示单选按钮以选择数据库,并通过 GET 方法将所选数据库的名称发送到另一个脚本 PHP2.php
-在 PHP2.php 中,我想在选定的数据库中显示 TABLES。 但是,当控制权转移到 PHP2.php 时,与 MySQL 的连接将终止。我首先尝试将我的 PHP1.php 文件包含在 PHP2.php 中并使用 $conn 变量,但由于上述代码,它当然会尝试重新连接到 MySQL,同时,包含 uname 和 pword 的第一个请求是丢失导致身份验证错误。
我该如何克服这个问题?
编辑: 我在这里看到了其他问题,但它们都有固定的用户名/密码,因此可以轻松地将连接脚本放在单独的文件中。我需要从用户那里获取用户名和密码。
【问题讨论】:
-
我对@987654322@ 做了一些不同的事情,效果很好。如果您想要一个示例,我将在下面发布,因为您使用的是
new mysqli()我不确定它是如何工作的 -
@Travis 您的方法在登录时会连接到数据库,但我想在从用户那里获取信息后稍后再做。
-
在每一页你是否连接到不同的mysql数据库,有不同的
username和password? -
@TheLastStark 我在一个 MySQL 帐户中创建了多个数据库,我想让用户选择选择数据库并连接到它,然后显示所选数据库中的表。
-
重要提示 网站/Web 应用程序会使用用户特定的用户名/密码来实际连接到数据库是非常不寻常的。 PHP 脚本使用一个特定帐户和密码来连接数据库更为正常。