无法包含connection.php文件以重用与数据库的连接

时间:2017-11-02 11:25:26

标签: php mysql database mysqli require

我在将某个连接文件包含到我的php页面时遇到了一些问题。

我有这个connessione.php从login.php接收连接到我的数据库的用户和密码:

<?php   
    $host="localhost";
    $user=$_POST["username"];
    $password= $_POST["password"];
    $database = "Park";
    $lingua=$_POST["lingua"];
    $myconn= new mysqli($host,$user,$password,$database); 

    if($myconn->connect_error){
        Header('Location: login.html');
    }else{
        Header('Location: form.html');
    }
?> 

这是我应该使用连接的form.php。

<?php
    require ('connessione.php');
    $query="SELECT CodicePin from Pin";
    $res=$myconn->query($query);
    $row=$res->fetch_array(MYSQLI_NUM);
    print_r($row);
?> 

问题是它无法使用connessione.php中建立的$ myconn,当我尝试使用正确的用户/ psw登录时,我将重定向到login.php。

但是如果我尝试像这样修改connessione.php并且它没有问题地执行查询。

<?php   
        $host="localhost";
        $user=$_POST["username"];
        $password= $_POST["password"];
        $database = "Park";
        $lingua=$_POST["lingua"];
        $myconn= new mysqli($host,$user,$password,$database); 

        if($myconn->connect_error){
            Header('Location: login.html');
        }else{
        $query="SELECT CodicePin from Pin";
        $res=$myconn->query($query);
        $row=$res->fetch_array(MYSQLI_NUM);
        print_r($row);
        }
    ?> 

如何在其他php页面中使用connessione.php建立的相同连接? 谢谢,抱歉我的英文:)

2 个答案:

答案 0 :(得分:0)

在连接页面中,我命名为DbConfig.php

 // DB connection
    $host="localhost"; // Host name
    $username="root"; // Mysql username
    $password=""; // Mysql password
    $db_name="demoproject"; // Database name

    // Connect to server and select databse.
    $con=mysqli_connect("$host", "$username", "$password","$db_name") or die("cannot connect");
if(mysqli_connect_errno()){
    echo "Failed to Connect Database: ". mysqli_connect_error();
//You can redirect here
    exit();
}
处理页面中的

require_once("DbConfig.php");

$sql="SELECT CodicePin from Pin";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_array($result);
var_dump($row);

答案 1 :(得分:-1)

您必须存储您的登录帖子(会话将是最佳匹配), 然后在mysqli连接上使用$ _SESSION;

记得在使用之前开始你的会话

只有在您发送登录表单时才会发送POST,因此如果您导航,则会丢失您的第一篇文章