2016-12-31 7 views
-3
$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 (";に変更すると、テーブルが正常に作成されません。なぜ誰かが1つのバージョンが機能するのか他のバージョンは動作しないのか説明できますか? xamppを使ってコードを実行します。ありがとう!一重引用符で囲まれたラップされていないデータベース名の違い

+0

テーブル名が 'によって符号化されてはならない「や' '"。 ' –

+0

賢明な件名が –

+0

を喜ばあなたはで識別子を囲むことはできません'」や '' "' 。あなたはバックティックを使用する必要があります。 –

答えて

0

mysqlでは、データベース名を単一引用符で囲むことはできません。あなたがする必要がある場合は、バッククォートを使用することができます:

$createPersonTable_SQL = "CREATE TABLE `".$db['database']."`.Person ("; 
関連する問題