返回未知列错误的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/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

      ?>

从定义中删除该列。试试这个:-

$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进行了少量搜索后,我得到了这一点,这不会伤害你。