我最近从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。我已经尽我所能根据以前的建议来修改它,但我被卡住了。与第二个示例格式几乎完全相同的表格在我的 Linux 机器上完美运行......