如何使用php中的类(oops)在php中创建mysql表?

如何使用php中的类(oops)在php中创建mysql表?,php,mysql,class,oop,create-table,Php,Mysql,Class,Oop,Create Table,我需要使用PHP中的类创建一个MySQL表 我正在使用以下代码,但没有创建表 <?php $this->query(" CREATE TABLE '$table2'( messageno INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(messageno), user_id VARCHAR, message VARCHAR,message_time DATETIME)"); ?> <?php class core {

我需要使用PHP中的类创建一个MySQL表 我正在使用以下代码,但没有创建表

<?php
$this->query("
   CREATE TABLE '$table2'(
messageno INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(messageno),
 user_id VARCHAR, message VARCHAR,message_time DATETIME)");


?>

<?php 
class core {



public function __construct() {
      $this->db = new mysqli('localhost','box','box','box');
}

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

}
?>

因此,请建议更改或创建表的适当方式


我只是一个初学者,如果我问这个简单的问题,很抱歉

您在示例中将
$table
定义为
no\u name
。但是您似乎在查询中使用了
$table2
。这个定义在哪里

如果是:

$table = 'no_name';
$query = "CREATE TABLE {$table} ( 
    messageno INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(messageno),
 user_id VARCHAR, message VARCHAR,message_time DATETIME)";

$this->query( $query );

使用某种形式的错误处理来找出发生了什么

public function query($sql) {
  if (($result = $this->db->query($sql)) !== false) {
    printf("Error: %s\n", mysqli_error($this->db));
  }
} 

这是个不错的问题,但不够具体,你为什么不看看PHP OOP教程而不是在这里提问呢?在查询中你有
$table2
,在此之前你定义了
$table
,我认为它们应该是相同的。你的mysql用户有创建权限吗?你运行查询的代码的上下文是什么,这是否在
db
所属的类中的方法中?您应该在开发过程中显示错误并添加错误处理,特别是对于数据库操作。@jeroen我刚刚添加了上面问题中的代码,请检查