PHP PDO クエリを使用して mySQL クエリを実行します。クエリは foreach() から入力された多数の情報で構成されています。だから私はSQLクエリをエコーアウトしました。問題はここにありますが、私には見えません。
これはの出力です$sql
CREATE TABLE IF NOT EXISTS `page` (
`page_ID` INT AUTO_INCREMENT NOT NULL,
`url` varchar(200) NOT NULL,
`title` varchar(200),
`subtitle` TEXT,
`content` TEXT,
`parent` varchar(10),
`privacy` varchar(1),
`status` varchar(1),
`creation` varchar(30)
) CHARACTER SET utf8 COLLATE utf8_general_ci;
参考までに、クエリは次のように実行されます。
function createdbtable($table,$fields){
global $fsdbh;
$sql = "CREATE TABLE IF NOT EXISTS `$table` (";
foreach($fields as $field => $type){ $sql.= "`$field` $type,"; }
$sql = rtrim($sql,',');
$sql .= ") CHARACTER SET utf8 COLLATE utf8_general_ci"; return $sql;
if($fsdbh->exec($sql) !== false) { return 1; }
}
これはエラーです:
#1075 - テーブル定義が正しくありません。自動列は 1 つしか存在できず、キーとして定義する必要があります