在我的php程序中,我想检查表是否存在。如果表不存在则要创建表...
我已经尝试过的代码
<?php
if( isset($_POST['uniqueno']))
{
$uniqueno=$_POST['uniqueno'];
$user=$_SESSION['userid'];
$date=date('Y-m-d H:i:s');
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$user."'"))==1)
{ echo "table exists"; }
else
{
$create=mysql_query("create table '$user'( uniqueno varchar(10) NOT NULL,
elementno varchar(30),
name varchar(50),
process varchar(30),
date datetime(30),
PRIMARY KEY (uniqueno)
)");
if(!$create)
{
echo mysql_error();
}
}
}
?>
当我尝试此代码时显示以下错误:
“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在''sai'附近使用正确的语法(uniqueno varchar(10)NOT NULL,elementno varchar(30),'在第1行“。
谢谢..答案 0 :(得分:2)
取出表名的单引号,查询应为
"create table $user( uniqueno varchar(10) NOT NULL,
elementno varchar(30),
name varchar(50),
process varchar(30),
date datetime,
PRIMARY KEY (uniqueno)
)"
答案 1 :(得分:0)
试试这个
$create=mysql_query("create table $user ( uniqueno varchar(10) NOT NULL,
elementno varchar(30),
name varchar(50),
process varchar(30),
date datetime(30),
PRIMARY KEY (uniqueno)
)");
答案 2 :(得分:0)
应该是
$create=mysql_query("create table $user ( uniqueno varchar(10) NOT NULL,
elementno varchar(30),
name varchar(50),
process varchar(30),
date datetime,
PRIMARY KEY (uniqueno)
)");
答案 3 :(得分:0)
<?php
session_start();
//your db connection code here
if( isset($_POST['uniqueno']))
{
$uniqueno=$_POST['uniqueno'];
$userid=$_POST['userid'];
$user=$_SESSION[$userid];
$date=date('Y-m-d H:i:s');
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$user."'"))==1)
{ echo "table exists"; }
else
{
$create=mysql_query("create table ".$user."(`uniqueno` varchar(10) NOT NULL,`elementno` varchar(30),`name` varchar(50),`process` varchar(30),`date` datetime, PRIMARY KEY(`uniqueno`))");
if(!$create)
{
echo mysql_error();
}
}
}
?>