返回未知列错误的PHP代码
我想知道是否有PHP/MySQL专家可以帮助我。我已经编写了一个PHP代码,希望它能在数据库中的表中添加新的列。以下是代码:返回未知列错误的PHP代码,php,mysql,Php,Mysql,我想知道是否有PHP/MySQL专家可以帮助我。我已经编写了一个PHP代码,希望它能在数据库中的表中添加新的列。以下是代码: <?php // All the database connection codes here $retro = mysqli_real_escape_string($con, $_POST['retro']); $moon = mysqli_real_escape_string($con, $_PO
<?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
?>
从定义中删除该列。试试这个:-
$sql = "ALTER TABLE Planets
ADD COLUMN(RetrogradePrograde VARCHAR(45),
NumberOfMoons VARCHAR(45),
DistanceFromSun SMALLINT(5));";
在ALTER TABLE
命令中,列名周围的引号类型错误。它们应该是反勾号,而不是单引号。或者您可以完全省略它们,因为您的列都不是保留字。此外,可选单词列
应位于括号外
$sql = "ALTER TABLE Planets
ADD COLUMN (
`RetrogradePrograde` VARCHAR(45),
`NumberOfMoons` VARCHAR(45),
`DistanceFromSun` SMALLINT(5));";
请参阅中的语法。在创建或更新表时,不要对将创建sql错误的列使用单引号或双引号。请尝试此操作
<?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),
NumberOfMoons VARCHAR(45),
DistanceFromSun SMALLINT(5))";
$sql = "UPDATE Planets
SET RetrogradePrograde = '$retro',
NumberOfMoons = '$moon',
DistanceFromSun = '$astronomicalunit'";
// all the mysqli connection failure notification here
// close mysqli connection
?>
可能重复您已经用完全相同的代码行问了一个问题,为什么还要问另一个问题?它不一样。该问题的问题是在第一次$sql
赋值后缺少分号。他解决了这个问题,现在他遇到了一个MySQL错误。@Barmar:然后需要再问3到4个问题才能让它最终运行:-事实上,我也在寻找原因,在对MySQL进行了少量搜索后,我得到了这一点,这不会伤害你。