我想知道是否有 PHP/MySQL 专家可以帮助我。我已经编写了一段 PHP 代码,我希望它将新列添加到数据库中的表中。以下是代码:
<?php
// All the database connection codes here
$retro = mysqli_real_escape_string($con, $_POST['retro']);
$moon = mysqli_real_escape_string($con, $_POST['moon']);
$astronomicalunit = mysqli_real_escape_string($con, $_POST['astronomicalunit']);
$sql = "ALTER TABLE Planets
ADD (COLUMN 'RetrogradePrograde' VARCHAR(45),
COLUMN 'NumberOfMoons' VARCHAR(45),
COLUMN 'DistanceFromSun' SMALLINT(5));";
$sql = "UPDATE Planets
SET RetrogradePrograde = '$retro',
NumberOfMoons = '$moon',
DistanceFromSun = '$astronomicalunit';";
// all the mysqli connection failure notification here
// close mysqli connection
?>
但是当我尝试在浏览器上运行该程序时,收到消息“错误:‘字段列表’中存在未知列‘RetrogradePrograde’”当我刚刚创建它时,怎么会有一个未知列?请帮忙。
最佳答案
ALTER TABLE
命令中列名称周围的引号类型错误。它们应该是反引号,而不是单引号。或者您可以完全省略它们,因为您的列都不是保留字。另外,可选单词COLUMN
应位于括号之外。
$sql = "ALTER TABLE Planets
ADD COLUMN (
`RetrogradePrograde` VARCHAR(45),
`NumberOfMoons` VARCHAR(45),
`DistanceFromSun` SMALLINT(5));";
请参阅 documentation 中的语法.
关于PHP 代码返回未知列错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25215390/