0

学びながら1対1のチャットサイトを作ろうとしているのですが、行き詰まってしまいました。

データベースに書き込めません。

以下にリンクされている4つのphpファイルがあります。

  • 索引
  • 初期化:

    session_start();
    
    define('LOGGED_IN', true);
    
    require 'classes/Core.php';
    require 'classes/Chat.php';
    
    ?>
    
  • チャット

  • 芯:

    class Core {
    protected $db, $result;
    private $rows;
    
    public function __construct() {
        $this->db = new mysqli("localhost","root","");
    }
    
    public function query($sql) {
        $this->result = $this->db->query($sql);
    }
    
    public function rows() {
        for($x = 1; $x <= $this->db->affected_rows; $x++) {
            $this->rows[] = $this->result->fetch_assoc();
        }
        return $this->rows;
    }
     }
    
    ?>
    

WAMP で設定された MySql データベースがあります。

PS はい、「< ? php」を開きましたが、ここに表示されません。

4

1 に答える 1

0

私が見たところ、デフォルトのデータベースを選択していません。デフォルトのデータベースを指定する必要があります

$this->db = new mysqli("localhost","root","", "mydatabase");

または後で1つを選択します

$this->db->select_db("mydatabase");

また、mysql 呼び出しの戻り値もチェックしません。たとえば、追加

public function query($sql) {
    $this->result = $this->db->query($sql);
    if ($this->result === false) {
        echo $this->db->error;
    }
}

mysql ステートメントの後に、ステートメントが成功するか失敗するかを確認します。

デバッグ目的で、SQL と対応する結果を表示できます

public function query($sql) {
    var_dump($sql);
    $this->result = $this->db->query($sql);
    var_dump($this->result);
    echo $this->db->error;
}
于 2012-12-07T22:20:44.513 に答える