无法创建表 - mysqli

时间:2013-01-14 18:58:52

标签: php mysql mysqli

我正在处理我的个人项目,目前我正在编写安装脚本。但是,它不能正常工作,因为它当前应该创建两个包含某些列的表。

以下是代码:

<?php

$db = "table";
$user = "root";
$pass = "xxxxxxxxx";

$dothemagic = new mysqli("localhost",$user,$pass,$db);
if(!$dothemagic){
    die("Teit jotain pahasti väärin! ".mysql_error());
}
else {
    echo "Yhteys tietokantaan luotu!<br>";}

$product = "CREATE TABLE product
    (
    ID int NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (ID),
    Name varchar(80),
    Description varchar(6000),
    Price varchar(10)
    )
";

$kategory = "CREATE TABLE product
    (
    ID int NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (ID),
    Name varchar(80),
    Description varchar(6000)
    )
";
if(!mysqli_query($product,$dothemagic)){
    echo "Taulua tuote ei voitu luoda! Tarkista asetuksesi!<br>";
}
else{echo "Taulu tuote on luotu!<br>";}

if(!mysqli_query($kategory,$dothemagic)){
    echo "Taulua kategoria ei voitu luoda! Tarkista asetuksesi!<br>";
}
else{echo "Taulu kategoria on luotu!<br>";}

当我导航到脚本位置时,我收到以下文字:

Yhteys tietokantaan luotu!
Taulua tuote ei voitu luoda! Tarkista asetuksesi!
Taulua kategoria ei voitu luoda! Tarkista asetuksesi!

所以在英语中,它连接到数据库,但它无法创建表。因为它在root上运行,它应该拥有所有权利......出了什么问题?

2 个答案:

答案 0 :(得分:2)

我相信你的论点顺序不正确。根据{{​​3}},$link应该是第一个。你似乎把它放在第二位。

如果你使用面向对象的风格,那就更难弄错了。

答案 1 :(得分:-1)

CREATE TABLE语句用于在MySQL中创建表。 我们必须将CREATE TABLE语句添加到mysqli_query()函数以执行命令。