使用PHP创建数据库和表

使用PHP创建数据库和表,php,mysql,Php,Mysql,我正在创建一个数据库和表创建脚本。正在创建数据库,但未创建表。当我将我的CREATE TABLEsql直接复制到phpMyAdmin中时,它会成功插入。所以我不确定问题是什么 function createdb() { include 'DbConnect.php'; $qry = "CREATE DATABASE chinesegame2"; $sql = $mysqli->query($qry); $sta

我正在创建一个数据库和表创建脚本。正在创建数据库,但未创建表。当我将我的
CREATE TABLE
sql直接复制到phpMyAdmin中时,它会成功插入。所以我不确定问题是什么

function createdb() {
        include 'DbConnect.php';
        $qry = "CREATE DATABASE chinesegame2";       
        $sql = $mysqli->query($qry);

        $stats = "CREATE TABLE stats (
                    id_stats    INT(10) NOT NULL AUTO_INCREMENT,
                    PRIMARY KEY (id_stats),
                    id_user_fk  VARCHAR(30),
                    level       VARCHAR(255),
                    experience  INT(10),
                    item_a      INT(10),
                    item_b      INT(10),
                    item_c      INT(10)
                )";

        if ($mysqli->query($stats)) {echo "Table stats created successfully";}
        else { printf("Connect failed: %s\n", $mysqli->connect_error);}

   mysqli_close($mysqli);   

}
结果:已创建chinesegame2数据库,但未创建任何表<代码>$mysqli->connect\u错误仅给出“连接失败:”

你知道为什么吗

谢谢你看这里:

这里呢

另外,请确保您位于该数据库中,并将其选中,或者告诉要在其中创建表的数据库。并且您的连接详细信息也是正确的

仅给出“连接失败:”

这是您在代码中定义的字符串,而不是错误消息。当您应该轮询连接以查找任何错误时,您只轮询连接错误,即mysqli->error()。如果您这样做,它将告诉您尚未选择数据库(并且您尚未在CREATETABLE语句中显式指定数据库)

尝试:


您能确认连接详细信息是否正确吗?一旦你创建了数据库,你需要连接到它。哎呀,我的项目的其他部分使用了相同的连接函数,连接到了错误的数据库。谢谢不客气。如果这对您有帮助,请标记为答案。谢谢
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Create table
$sql="CREATE TABLE Persons(FirstName CHAR(30),LastName CHAR(30),Age INT)";

// Execute query
if (mysqli_query($con,$sql))
  {
  echo "Table persons created successfully";
  }
else
  {
  echo "Error creating table: " . mysqli_error($con);
  }
?>
$sql = "CREATE TABLE Persons 
(
PID INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(PID),
FirstName CHAR(15),
LastName CHAR(15),
Age INT
)";
$qry = "CREATE DATABASE chinesegame2";       
$sql = $mysqli->query($qry);
$mysqli->select_db("chinesegame2");
...