无法从数据库写入/读取

时间:2012-12-07 22:03:52

标签: php mysql database

我正在尝试通过学习进步来建立一对一的聊天网站,但我已经开始了。

我无法写入数据库。

我在下面链接了四个php文件。

  • Index
  • 初始化:     

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

  • 核心:

    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数据库。

P.S。是的,我打开了“&lt;?php” 但它不会在这里显示。

1 个答案:

答案 0 :(得分: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;
}