Php 在mysql表中添加列不起作用?

Php 在mysql表中添加列不起作用?,php,Php,这是我到目前为止没有得到任何错误。但是添加列不起作用? 它不会出现在我的数据库中。 我该怎么办 <?php $mysqli = mysqli_connect("localhost","texaco","texaco","texaco"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " .

这是我到目前为止没有得到任何错误。但是添加列不起作用?
它不会出现在我的数据库中。
我该怎么办

 <?php

      $mysqli = mysqli_connect("localhost","texaco","texaco","texaco");

      // Check connection
      if (mysqli_connect_errno())
        {
           echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }

      elseif (mysqli_query("ALTER TABLE prijzen ADD test varchar(255) NOT NULL")) {
          echo "Table creation failed: (" . mysqli_errno . ") " . mysqli_error;
      }


      else {
      header("Location: inloggen.php");
      }



      /* ;
        mysqli_query($sql);

       */

      ?>

您的查询是正确的。 我认为您的用户texaco在phpmyadmin中没有Alter Table的特权

  • 进去吧
  • 为数据库添加德士古所有权限
试试这个:

在第一行中,将用户名更改为alter table数据库中具有权限的用户的名称,将密码更改为用户的密码,将数据库更改为数据库的名称


如果不起作用,请检查MySQL的权限。

这里的问题是您从未将db连接传递到查询:

elseif (mysqli_query("ALTER TABLE prijzen ADD test varchar(255) NOT NULL"))
做:

请参阅手册:

另外,最好添加
exit在标题之后。否则,您的代码可能需要继续执行

header("Location: inloggen.php");
exit;
但是,我不会使用
elseif
,我不知道您为什么要这样做。只需检查查询是否成功执行

$query = mysqli_query($mysqli, "ALTER TABLE prijzen ADD test varchar(255) NOT NULL");

    if(!$query){
       echo mysqli_error($mysqli);
    }

else{
    header("Location: inloggen.php");
    exit;
}

添加到文件的顶部,这将有助于查找错误

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Then the rest of your code

多亏了你们所有的m8 it工人,你们的答案都帮不上忙。这是给你们的最后一个密码。曼:::

<?php

  $mysqli = mysqli_connect("localhost","texaco","texaco","texaco");
  $kolomnaam = $_POST['kolomnaam'];
  // Check connection
  if (mysqli_connect_errno())
    {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

  elseif (mysqli_query($mysqli, "ALTER TABLE prijzen ADD $kolomnaam varchar(255) NOT NULL")) {
      echo "Table creation failed: (" .  mysqli_errno . ") " . mysqli_error;
  }


  else {
  header("Location: inloggen.php");
  }



  ?>


粘贴mysqli_错误和mysqli_错误nophpMyAdmin只是MySQL的一个管理前端,而不是数据库本身。您直接使用数据库,而不涉及phpMyAdmin。我更正了你的标题以反映这一点。你为什么要更正你必须帮助我的事情没有错误的人。一切都很好,他看了剧本,没有错误。但是该列没有出现在database@JapanseMixxx伙计,在你的php中添加以下代码:这对我来说总是有效:
ini\u集('display\u errors',1);ini设置(“显示启动错误”,1);错误报告(E_全部)
然而,这并不会使PHP显示解析错误-显示这些错误的唯一方法是使用以下行修改PHP.ini:
display\u errors=on
几乎是Sam@Jayblanchard你应该接受我给你的答案,而不是发布你自己的答案。这不是Stack上的工作方式。在这里,读这个(没有你的答案?)哈哈,我是什么,切碎的肝脏?哈哈哈
<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Then the rest of your code
<?php

  $mysqli = mysqli_connect("localhost","texaco","texaco","texaco");
  $kolomnaam = $_POST['kolomnaam'];
  // Check connection
  if (mysqli_connect_errno())
    {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

  elseif (mysqli_query($mysqli, "ALTER TABLE prijzen ADD $kolomnaam varchar(255) NOT NULL")) {
      echo "Table creation failed: (" .  mysqli_errno . ") " . mysqli_error;
  }


  else {
  header("Location: inloggen.php");
  }



  ?>