Php 无法创建表MySQLi
我尝试使用Php 无法创建表MySQLi,php,mysql,mysqli,php-7,Php,Mysql,Mysqli,Php 7,我尝试使用创建一个表,如果不存在则创建一个表,但出现了一些错误。我解决不了这个问题。有人能帮我吗 <?php $server = "localhost"; $user = "root"; $password = ""; $dbname = "bombus"; $connection = @new mysqli( $server, $user, $password, $dbname ) or die( "ERROR : " . mysqli_error() )
创建一个表,如果不存在则创建一个表,但出现了一些错误。我解决不了这个问题。有人能帮我吗
<?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);
?>
感谢您的帮助。您的脚本中有一些问题。更改您的创建表查询,如下所示:
$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)");
运行此代码时是否出现任何错误?您确定该表不存在吗?您在定义$connection的行中有一个@,请将其删除。这可能会帮助您。。。我看到您没有通过PHP检查数据库中是否存在该表。根据您的问题陈述,我帮不了多少忙。您需要将密码更改为其他名称,密码是一个内置名称,请尝试“用户传递”并再次运行脚本。另外,当我尝试运行您的查询时,用户名VARCHAR(MAX)出现错误。将它改为VARCHAR(255)并成功运行。这连接到了我测试过的数据库,删除@并没有任何区别!这正是问题评论中所说的。因此@AliDayan请接受B.Desai关于他的回答:-)我会去接受,但有警告说你可以在3分钟内接受