我想用php变量+名称创建表 喜欢。
这是我的代码
if($conn->query($sql1)===TRUE){
$_SESSION['username'] = $x;
$sql = "CREATE TABLE $x
(
ID int NOT NULL AUTO_INCREMENT,
image blob,
date datetime,
status longtext,
PRIMARY KEY (ID)
)";
$sql2 = "CREATE TABLE ".$x."_frnd
(
ID int NOT NULL AUTO_INCREMENT,
myfrndname varchar(255),
myfrndusername varchar(255),
PRIMARY KEY (ID)
)";
$result= mysqli_query($conn,$sql,$sql2);
if ($conn->query($result) === TRUE) {
}
这里($ x)是一个变量而frnd是手工名称 - 我想要这样的结果表。 [adminfrnd]。 请建议我。
答案 0 :(得分:0)
尝试这样的事情:
CREATE TABLE IF NOT EXISTS `{$x}frnd` (
`id` mediumint(6) unsigned zerofill NOT NULL auto_increment,
`myfrndname` varchar(255) NOT NULL,
`myfrndlastname` varchar(255) NOT NULL,
`myfrndusername` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
顺便说一下
为什么要为每个管理员创建自己的表?
答案 1 :(得分:0)
你需要做的是附加这样的文字:
$sql = "CREATE TABLE " . $x . "frnd
( ID int NOT NULL AUTO_INCREMENT,
myfrndname varchar(255),
myfrndlastname varchar(255),
myfrndusername varchar(255),
PRIMARY KEY (ID) )";
答案 2 :(得分:0)
在您的示例中,$x
应为字符串。
您的代码如下:
$x="admin";
$sql = "CREATE TABLE ".$x."_frnd
( ID int NOT NULL AUTO_INCREMENT,
myfrndname varchar(255),
myfrndlastname varchar(255),
myfrndusername varchar(255),
PRIMARY KEY (ID) )";
$result= mysqli_query($conn,$sql);
if ($conn->query($result) === TRUE) {
}
注意:在表名中使用.
(点)使用_
(下划线)而不是好习惯