多个mysql_connect语句互相取消

时间:2013-03-18 03:32:40

标签: php mysql ajax database-connection chat

我正在尝试使用php和我的sql编写一个ajax聊天应用程序。我有一个名为connect.php的文件,如下所示:

mysql_connect("host", "username", "password");
mysql_select_db("database name");

我有另一个名为Core.php的文件需要与数据库相同的连接才能从我的数据库中获取聊天消息。 Core.php看起来像这样:

class Core {
protected $db, $result;
private $rows;

public function __construct() {
    $this->db = new mysqli('host', 'username', 'password','database name') or die('Connection Failure');
}
}

如何将$ this-> db设置为我已打开的同一连接?

就像现在一样,在Core.php之前的init.php文件中调用了connect.php,导致聊天消息没有显示在框中。如果我注释掉connect.php的调用,则会显示聊天消息,但无法访问所有用户的登录数据,并且用户将被注销。谁能帮我这个?它让我发疯了

编辑:这是我的init.php文件,其中调用了core.php和connect.php

ob_start();
session_start();
error_reporting(0);

$current_file = explode('/',$_SERVER['SCRIPT_NAME']);
$current_file = end($current_file);

require 'core/database/connect.php';
require 'functions/general.php';
require 'functions/users.php';
require 'classes/Core.php';

2 个答案:

答案 0 :(得分:1)

我不是100%肯定你在做什么,所以这是最好的猜答案......首先,你如何分配已经打开的连接?

//connect.php
<?php
    $conn = mysql_connect("$host", "$u", "$p");
    mysql_select_db("$db");
?>

<?php
include 'connect.php';

class Core
{
    private $conn;

    function __construct()
    {
        global $conn;
        $this->conn =& $conn;
    }
}
?>

答案 1 :(得分:0)

public function __construct() {
      $this->db = new mysqli('$host', '$u', '$p','$db') or die('Connection Failure');
 }

此代码无法运行,请确保您已使用“$ host”/“$ u”...等而不是'$ host'或'$ u'

php解析器会将其解析为字符串而不是引号内的变量。