PHP - PDO连接对象查询不起作用

时间:2015-06-16 08:48:30

标签: php mysql pdo

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

ParentNode.insertBefore(<your element>, ParentNode.firstChild);

phpMyAdmin 我浏览数据库以确定它是否真的已经创建,我一遍又一遍地尝试了代码,但它总是创建数据库 theShop 但是0(零)表,为什么没有创建表?

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

  1. 不使用反引号
  2. 更改表格类型
  3. 将关键字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(); } 更改为type
  4. 既不使用engine也不使用type
  5. 通过添加engine
  6. 来更改连接字符串
  7. 很多东西..!

1 个答案:

答案 0 :(得分:0)

试试这个(适用于我的电脑:Ubuntu,Apache2,MySQL)

<?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();
}
?>

让我知道它是否有效