如何将SQL连接传递给另一个php

时间:2017-01-30 07:55:01

标签: php android mysql

我正在尝试制作一个非常基本的Android应用程序,可以连接到mysql服务器并进行查询。我做了第一页,需要主机,用户,名称和密码。然后我使用POST方法将这些输入传递给php脚本(称为conn.php)。如果建立了mysql连接,则弹出窗口显示“Success”,否则显示错误。现在,我被困在这里。现在我希望一旦我提供了主机,用户名和密码并建立了连接,我想在另一个PHP脚本中使用相同的连接,这将在连接上进行查询。

这是我的conn.php

prod

这是我的Android任务

<?php   
    $host=$_POST["host"];
    $user=$_POST["user"];
    $pass=$_POST["pass"];
    $sql=new mysqli($host,$user,$pass);
    if($sql->connect_error)
        echo "Failed: ".$sql->connect_error;
    else{
        echo "Success";
    }
?>

如果我做错了,那可能是另一种方式?

1 个答案:

答案 0 :(得分:1)

好的,如果你只想要一个连接,请使用singleton类(参见单例模式)。 按如下方式定义连接类,
DBConnection.php

class DBConnection{
    protected static $db;
    private function __construct() {
        try {
            $host:"myhost";
            $user:"myuser";
            $pass:"mypass";
            self::$db = $sql=new mysqli($host,$user,$pass);
        }
        catch (Exception $e) {
            //..........
        }
    }
    public static function getInstance() {
        if (!self::$db) {
            new DBConnection();
        }
        return self::$db;
    }

    public function __destruct() {
        $db=NULL;
    }
}

注意:在PHP中,创建此类的Object,并在创建此类的对象时将从POST获得的值传递给此类。 你在PHP文件中做了类似的事情 的 conn.php

include "DBConnection.php";
//$host=$_POST["host"];
//$user=$_POST["user"];
//$pass=$_POST["pass"];
//$db = new DBConnection($host,$user,$pass);
$db = new DBConnection();
$connection = $db->getInstance();