数据库名称之间的区别包装在单引号中而未包装

时间:2016-12-31 05:20:12

标签: php mysql

$createPersonTable_SQL = "CREATE TABLE ".$db['database'].".Person ( ";
    $createPersonTable_SQL .= "ID INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , ";
    $createPersonTable_SQL .= "FirstName VARCHAR( 50 ) , ";
    $createPersonTable_SQL .= "LastName VARCHAR( 50 ) NOT NULL , ";
    $createPersonTable_SQL .= "Sex VARCHAR( 4 ) NOT NULL , ";
    $createPersonTable_SQL .= "Age INT( 3 ) NOT NULL , ";
    $createPersonTable_SQL .= "Job VARCHAR( 50 ) NOT NULL , ";
    $createPersonTable_SQL .= "Height float( 2) NOT NULL , ";
    $createPersonTable_SQL .= "Weight float( 2 ) NOT NULL , ";
    $createPersonTable_SQL .= "Hobby VARCHAR( 1000 ) NOT NULL , ";
    $createPersonTable_SQL .= "Salary FLOAT( 2 ) NOT NULL ";
    $createPersonTable_SQL .= ")";

对于第一行,如果我像这样运行php代码的一部分,则表已成功创建。但是,如果我改变第一行                     "CREATE TABLE '".$db['database']."'.Person ( ";表创建失败。任何人都可以解释为什么一个版本可以工作但另一个版本没有。我使用xampp运行代码。谢谢!

1 个答案:

答案 0 :(得分:0)

数据库名称不能包含在mysql中的单引号中。如果需要,可以使用反引号:

$createPersonTable_SQL = "CREATE TABLE `".$db['database']."`.Person ( ";