PHP-PDO连接对象查询不工作

PHP-PDO连接对象查询不工作,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用以下代码创建一个新表: try { $db = new PDO("mysql:hostname=localhost",'root','root'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { echo $e->getMessage(); die(); } //to create database $db

我正在尝试使用以下代码创建一个新表:

try {
    $db = new PDO("mysql:hostname=localhost",'root','root');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo $e->getMessage();
    die();
}

//to create database
$db->query("CREATE DATABASE theShop IF NOT EXISTS ;");
$db->query("USE theShop;");

$createTableShops = "CREATE TABLE `advertisor`
                        (
                            `ShopID`        UNSIGNED INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
                            `ShopName`      VARCHAR(50) NOT NULL,           
                        )type=InnoDB;";

try {
    $db->query($createTableShops);
} catch(PDOException $e) {
    echo $e->getMessage();
}
phpMyAdmin我浏览数据库以确定它是否真的已创建,我反复尝试代码,但它总是创建数据库theShop但是有0(零)个表,为什么不创建表

注意:我尝试了一些更改:

  • 不使用backtick
  • 更改表的类型
  • 将关键字
    类型
    更改为
    引擎
  • 既不使用
    类型
    也不使用
    引擎
  • 通过添加
    dbname=theShop
  • 很多东西 试试这个(适用于我的电脑:Ubuntu、Apache2、MySQL)

    
    

    让我知道它是否有效。

    我的代码中没有
    ShopName
    字段后的“,”字符,复制代码时出现错误。您尝试过以下方法吗:?是的!是的!。。。我问之前已经找了很多了!所以它不会创建表,但也不会输出任何错误。。。?您是否检查了
    query()
    是否返回
    true
    ?你200%确定你在看正确的数据库吗?是的,我查过了。。如果查询没有正确完成,我会尝试进行一些输出。它也不会给出任何输出。。。我在代码的末尾做了一个输出,输出就出现了!但是查询测试不能在Windows8上运行,AppServ->它可以工作!thx。。。但我的密码有什么错。您已将
    UNSIGNED INT
    更改为
    BIGINT
    仅当您想使用UNSIGNED时:选择
    'ShopID'INT UNSIGNED
    而不是
    'ShopID'UNSIGNED INT
    此外,请记住,您可以使用控制台调试php是的,我只将类型更改为engine,将UNSIGNED INT更改为BIGINT
    <?php
    try {
        $db = new PDO("mysql:hostname=localhost",'root','pw');
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        echo $e->getMessage();
        die();
    }
    
    //to create database
    $db->query("CREATE DATABASE IF NOT EXISTS  theShop;");
    $db->query("USE theShop;");
    
    $createTableShops = "CREATE TABLE `advertisor`
                            (
                                `ShopID`        INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
                                `ShopName`      VARCHAR(50) NOT NULL           
                            )ENGINE=InnoDB";
    
    try {
        $db->query($createTableShops);
    } catch(PDOException $e) {
        echo $e->getMessage();
    }
    ?>