0

我正在尝试通过学习来创建一个 1 对 1 聊天网站,但我遇到了麻烦。

我无法写入数据库。

我在下面链接了四个 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");

或稍后选择一个

$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 回答