2017-05-31 58 views
0

我尝试创建一个与CREATE TABLE IF NOT EXISTS但表错误的表。我无法解决这个问题。任何人都可以帮我吗?无法创建表MySQLi

<?php 
$server  = "localhost"; 
$user  = "root"; 
$password = ""; 
$dbname  = "bombus"; 
$connection = @new mysqli($server, $user, $password, $dbname) or die("ERROR : " . mysqli_error()); 
$tablename = "users"; 
$newTable = $connection->query("CREATE TABLE IF NOT EXISTS $tablename(
    ID int NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(ID), 
    userName VARCHAR(MAX) NOT NULL UNIQUE, 
    password CHAR(32) NOT NULL, 
    isAdmin TINYINT(1) NOT NULL, 
    companyID int NOT NULL, 
    branchID int NOT NULL 
)"); 
mysqli_close($connection); 
?> 

谢谢你的帮助。

+0

您在运行此代码时是否收到任何错误?你确定桌子不存在吗?在定义$连接的行中有@,将其删除。 – Milanzor

+0

This [answer](https://stackoverflow.com/a/25146296/5513005),可能会帮助你...我看到你没有通过PHP检查数据库,如果表存在与否。通过你的问题陈述,我无法帮助很多。 –

+1

您需要将密码更改为其他名称,密码是内置名称,请尝试user_pass并再次运行脚本 – Exprator

回答

1

您的脚本中存在一些问题。更改您创建的表格查询,如下所示:

$newTable = $connection->query("CREATE TABLE IF NOT EXISTS $tablename(
    ID int NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(ID), 
    userName VARCHAR(50) NOT NULL UNIQUE, 
    user_password CHAR(32) NOT NULL, 
    isAdmin TINYINT(1) NOT NULL, 
    companyID int NOT NULL, 
    branchID int NOT NULL)"); 
+1

走的路!这个问题的评论究竟是怎么说的。 – Milanzor

+0

谢谢你改变max到255工作 –

+0

所以@AliDayan请接受B.Desai对他的回答:-) – NDFA