3

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 を、既に開いている同じ接続に設定するにはどうすればよいですか?

現在、connect.php は私の init.php ファイルで Core.php の前に呼び出され、チャット メッセージがボックスに表示されません。connect.php の呼び出しをコメント アウトすると、チャット メッセージは表示されますが、すべてのユーザーのログイン データにアクセスできず、ユーザーはログアウトされます。誰でもこれで私を助けることができますか?それは私を夢中にさせています

編集:これは、core.php と connect.php が呼び出される私の init.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';
4

2 に答える 2

1

私はあなたが何をしているのか100%確信が持てないので、これは最良の推測の答えです.1つは、すでに開いている接続をどのように割り当てていますか?

//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;
    }
}
?>
于 2013-03-18T14:37:06.883 に答える
0
public function __construct() {
      $this->db = new mysqli('$host', '$u', '$p','$db') or die('Connection Failure');
 }

このコードは実行されません。「$host」または「$u」の代わりに「$host」/「$u」などを使用していることを確認してください。

PHPパーサーは、引用符内の変数ではなく文字列として解析します。

于 2013-03-18T14:31:36.917 に答える