不能创建我的表


Can't create my table

我已经尝试了/没有引号,有/没有or exit(),我三次检查我是否正确连接到DB。

编辑:现在我得到我自己的自定义错误:

$username="user";
$password="*****";
$hostname="localhost";
mysql_connect($hostname,$username,$password) or exit("Error: @mysql_connect.");
mysql_select_db("test") or exit("Error: @mysql_select_db.");
mysql_query("CREATE TABLE propiedades(
'id' SMALLINT NOT NULL AUTO_INCREMENT,
'colonia' VARCHAR(35),
'zona' VARCHAR(35),
'precio' DECIMAL(9,2),
'usd' BOOLEAN,
'tipo' TINYINT,
'venta' BOOLEAN,
'recamaras' TINYINT,
'banos' TINYINT,
'mbanos' TINYINT,
'plantas' TINYINT,
'construccion' SMALLINT,
'terreno' SMALLINT,
'edad' TINYINT,
'uploaded' TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
'updated' TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
'ocultar' BOOLEAN NOT NULL DEFAULT 0,
PRIMARY KEY (id))") or exit("Error: @mysql_query CREATE TABLE.");

我的代码抛出"Error: @mysql_query CREATE TABLE."

我没有检查您的查询的语法,我只是演示它应该如何完成。正如mario在上面的评论中所说,你不能将纯mysql代码输入php并期望它能工作…为此,您需要使用mysql API或pdo。

$sql = '
    CREATE TABLE propiedades(
    `id` SMALLINT NOT NULL AUTO_INCREMENT,
    `colonia` VARCHAR(35),
    `zona` VARCHAR(35),
    `precio` DECIMAL(9,2),
    `usd` BOOLEAN,
    `tipo` TINYINT,
    `venta` BOOLEAN,
    `recamaras` TINYINT,
    `banos` TINYINT,
    `mbanos` TINYINT,
    `plantas` TINYINT,
    `construccion` SMALLINT,
    `terreno` SMALLINT,
    `edad` TINYINT,
    `uploaded` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `updated` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `ocultar` BOOLEAN NOT NULL DEFAULT 0,
    PRIMARY KEY (id))';
$result = mysql_query($sql);
if (!$result)
    exit("Error: @CREATE TABLE.");

嗯,你应该把你的整个SQL代码放入mysql_query函数

作为参数:

$result = mysql_query('CREATE TABLE propiedades(
    "id" SMALLINT NOT NULL AUTO_INCREMENT,
    "colonia" VARCHAR(35),
    "zona" VARCHAR(35),
    "precio" DECIMAL(9,2),
    "usd" BOOLEAN,
    "tipo" TINYINT,
    "venta" BOOLEAN,
    "recamaras" TINYINT,
    "banos" TINYINT,
    "mbanos" TINYINT,
    "plantas" TINYINT,
    "construccion" SMALLINT,
    "terreno" SMALLINT,
    "edad" TINYINT,
    "uploaded" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    "updated" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    "ocultar" BOOLEAN NOT NULL DEFAULT 0,
    PRIMARY KEY (id))');