如何:使用不同的文件从PHP连接到MySQL

时间:2013-02-23 14:09:14

标签: php session dynamic mysql-connect mysql-select-db

好的,所以我做了一个搜索,看看是否有其他帖子完全解释了这个......

我现在在这里:)


情景:

  1. 我想通过html连接到你的mysql数据库。
  2. 不要想要在每次要执行查询时明确设置参数
  3. 我有多个用户和(当然)您希望在整个应用程序中提供他们的登录详细信息

2 个答案:

答案 0 :(得分:-1)

<强>需求: 您至少需要4个文件:

  1. 的login.php

    • 这将是每个用户的登录页面
  2. ValidateLogin.php

    • 此文件将(如其所述)验证用户登录
  3. Connection.php

    • 此文件将存储用户的连接参数
  4. Home.html中

    • 您希望用户在成功登录后看到的页面。

  5. <强>的login.php

    <!--This file is very self explanatory so no need to go in to detail here-->
    <html>
    <head>
    <title>Login.php</title>
    <link rel="stylesheet" type="text/css" href="defaults.css">
    </head>
    <body>
    <fieldset>
    <legend>Login</legend>
    <form method="post" action="ValidateLogin.php">
    <table id="formtable">
    
        <tr>
        <td>Username:</td>
        <td><input type="text" name="username" id="username" required></input>
        </tr>
    
        <tr>
        <td>Password:</td>
        <td><input type="password" name="password" id="password" required></input>
        </tr>
    </table>
    <input type="submit"></input>
    </form>
    </fieldset>
    </body>
    </html>
    

    <强> ValidateLogin.php

    <?php
    session_start();
    
    $dbhost   = "localhost";
    
    $con = mysql_connect($dbhost,$_POST["username"],$_POST["password"]);
    
    if($con)
    {
        $_SESSION["username"] = $_POST["username"];
        $_SESSION["password"] = $_POST["password"];
        header("Location:Home.html");
    }
    else
    {die(mysql_error());}
    
    ?>
    

    <强> Connection.php

    <?php
    session_start();
    
    $dbhost   = "localhost";
    $db       = "db-schema-name";
    $username = $_SESSION["username"];
    $password = $_SESSION["password"];
    
    mysql_connect($dbhost,$username,$password);
    mysql_select_db($db)
    
    ?>
    

    您希望使用连接的任何文件

    <?php
    //in any php file you want to use the connection
    //just type the following:
    include("Connection.php");
    //then perform your sql queries or updates like so:
    $result = mysql_query("SELECT * FROM `table-name`");
    $row = mysql_fetch_array($result)    
    ?>
    

    好的,这似乎是一个漫长的过程,但它实际上非常简单有效: 我使用外部文件来验证登录的原因是因为html表单的“action”属性必须是一个url,而且无论如何,根据它们的特定功能分离文件是一种很好的做法。 / p>

    我承认我仍然是一个新手但是我喜欢每个人都帮助每个人都没有收获的想法,所以我来这里是为了减肥。如果我错了,请随时纠正我。

答案 1 :(得分:-1)

1)您将需要php在connection.php文件中进行连接  `

$conn= mysqli_connect("localhost","ID","Password","Database_name");
if(!$conn)
{
    die("Connection failed");
}
?>`

然后在每个文件中放入require('connection.php');,除了建立与mysql数据库的连接之外,没有其他方法。

2)将查询设置为函数,并将要搜索的内容作为变量发送。

3)用户输入电子邮件/密码后,请使用$ _Session或$ _Cookie。