最近、仕事のために Linux から Windows に切り替えましたが、以前は mysql で php を使用してテーブルを作成していた方法が機能しなくなったようです。
最初に、いくつかの php 変数を使用してテーブルを作成しようとしました。
$tablename=$_POST['tablename'];
$fields=array('First Name', 'Last Name', 'Institution', 'Abbr.', 'City', 'Country', 'Phone', 'Email', 'Found by', 'Salesperson', 'Temp', 'Notes');
$sql ="CREATE TABLE $tablename
(
PID INT NOT NULL AUTO_INCREMENT,";
foreach ($fields as $field){$sql .= " $field CHAR(50),";}
$sql .= "PRIMARY KEY(PID))";
if (mysqli_query($con,$sql))
{echo "Table persons created successfully";}
else
{echo "Error creating table: " . mysqli_error($con);}
エラーが返されました:「SQL構文にエラーがあります。使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください '( PID INT NOT NULL AUTO_INCREMENT, FirstName NOT NULL CHAR(50), LastNam' 2行目」
スペースに何か問題があるのではないかと思ったので、テーブル データを手動で入力してみました。
$sql="CREATE TABLE $tablename
(
PID INT NOT NULL AUTO_INCREMENT,
FirstName NOT NULL CHAR(50),
LastName NOT NULL CHAR(50),
Institution NOT NULL CHAR(50),
Abbr NOT NULL CHAR(50),
City NOT NULL CHAR(50),
Country NOT NULL CHAR(50),
Phone NOT NULL CHAR(50),
Email NOT NULL CHAR(50),
Foundby NOT NULL CHAR(50),
Salesperson NOT NULL CHAR(50),
Temp NOT NULL CHAR(50),
Notes NOT NULL CHAR(50),
PRIMARY KEY(PID))";
Bu は同じエラー メッセージを返しました。以前の提案に基づいて、これをあらゆる方法で変更するために最善を尽くしましたが、行き詰まっています。2 番目の例とほぼ同じ形式のテーブルは、私の Linux ボックスで完全に機能します...