如何在一个 php 文件中定义 mysqli 连接,然后在另一个文件中使用它


How to define mysqli connection in one php file and then use it on another file?

我是PHP新手,我正在使用eclipse SDE来构建一个简单的Web应用程序。

我的方案是:

  1. 我有包含登录表单的索引.php页面(2 个文本框和登录按钮
  2. 我有MySQL数据库,其中包含两个表:system_users和user_errors
  3. 每当用户在 index.php 页面中成功登录时,这应该将他重定向到 page1.php然后从 user_errors 表中检索他的错误并列出它们。

我想在 php 中实现这一点。

以下是我的代码:

索引.php

    <html>
<link rel="stylesheet" type="text/css" href="cssDesign.css">
<head>
<title>A BASIC HTML FORM</title>
<?PHP
//MySQL Database Connect 
include 'mysql_connect.php';
$conn = MySQLConnection::getConnection();

// Create connection
//global $con;
//$con = new mysqli("192.168.0.2", "Invest", "NeeD$123","investmentprojects","3306");
if (isset($_POST['Submit1'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
$result = mysqli_query($conn,"SELECT id,username,password,type FROM system_users WHERE username = '".$username."' AND password='".$password."' ");
$rows = mysqli_num_rows($result); 
if ($rows == 1) {
  header('Location: page1.php');
}       
else {
    print ("You're not a member of this site");
    }
}
//mysqli_close($conn);
?>
</head>
<body>
<FORM NAME ="form1" METHOD ="POST" ACTION = "index.php">
<table border="0" style="width:370px;border:0px;">
    <tr> 
        <td style ="width:30%;border:0px;">User</td>
        <td style ="width:70%;;border:0px;"><INPUT style ="width:100%;" TYPE = "TEXT" VALUE ="" NAME = "username"> </td>
    </tr>
    <tr> 
        <td style ="width:30%;border:0px;">Password</td>
        <td style ="width:70%;border:0px;"><INPUT style ="width:100%;" TYPE = "TEXT" VALUE ="" NAME = "password"> </td>
    </tr>
    <tr> 
    <td style ="width:30%;border:0px;"></td>
        <td align='right' style ="width:70%;border:0px;"><INPUT style ="width:30%;" TYPE = "Submit" Name = "Submit1" VALUE = "Login"> </td>
    </tr>
</table>

</FORM>
</body>
</html>

页1.php

    <html>
<link rel="stylesheet" type="text/css" href="cssDesign.css">
<head>
<title>A BASIC HTML FORM</title>
</head>
<body>
<Form name ="form1" Method ="POST" Action ="page1.php">
</FORM>
</body>
</html>
<?php
include 'mysql_connect.php';
$conn = MySQLConnection::getConnection();
$username = $_POST['username'];
$sql = "SELECT user_name,error_form,error_date,error_description " . 
        "FROM error_log WHERE username ='".$username."'";
$result = mysqli_query($conn,$sql);
if ($result->num_rows > 0) {
    echo "<table>";
        echo "<tr>";
        echo "<th>User</th><th>Error Form</th><th>Error Date</th><th>Error Description</th>";
        echo "</tr>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<tr>";
        echo "<td>".$row["user_name"]."</td>";
        echo "<td>".$row["error_form"]."</td>";
        echo "<td>".$row["error_date"]."</td>";
        echo "<td>".$row["error_description"]."</td>";
        echo "</tr>";
    }
    echo "</table>";
} else {
    echo "0 results";
}
//mysqli_close($conn);
?>

建立文件连接.php与 mysql 连接所有与 mysql 连接相切的,并且在您使用 mysql 的每个文件中查询行include_once('connection.php');或者您可以有include_once('some_folder'connection.php');

如果您是初学者,则可以使用此模式连接到数据库

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect('localhost', 'mysql_user', 'mysql_password');
echo 'Connected successfully';
$res = mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

http://php.net/manual/en/mysqli.query.php