无法在PHP中使用查询变量创建SQL表作为表名

时间:2012-10-29 19:21:54

标签: php mysql sql database create-table

我在PHP中传递一个查询变量。我想把它作为表名,但我知道可能存在SQL语法错误。当我打印语句时,传递变量意味着它可以工作,但是数据库根本就没有创建。

以下是我创建数据库的代码:

$DBName = "database_name";  
$sql = "CREATE TABLE '$DBName'.'$login' (  
    ClientID int NOT NULL AUTO_INCREMENT,   
    AgentClients varchar(15),  
    ClientTotal int  
    )";  
mysql_query($sql,$link);
where `$login = $_POST['login'];

另外,我现在并不担心安全漏洞,所以不用担心。

非常感谢任何见解。

1 个答案:

答案 0 :(得分:6)

您必须使用反引号作为您的表名,而不是引号:

$sql = "CREATE TABLE `$DBName`.`$login` (  
  ClientID int NOT NULL AUTO_INCREMENT,   
  AgentClients varchar(15),  
  ClientTotal int,
  PRIMARY KEY (`ClientID`) 
)";