首页 > 解决方案 > 使用 PHP 和 MYSQL 连续添加同名的新列

问题描述

每次在我的表中输入信息时,我都想向我的表中添加新行。但首先,我必须自动打开新列。

$Connection=mysqli_connect('localhost','root','','database');

    $Query="ALTER TABLE `koli_stok_hareketleri` 
    ADD `uretilen_koli` INT(11) NOT NULL AFTER `koli_adet`, 
    ADD `tarih` VARCHAR(100) NOT NULL AFTER `uretilen_koli`;";

    $Execute=mysqli_query($Connection,$Query)
    or die("Bad Query: $Query");

   if($Execute){
          $_SESSION["SuccessMessage"]= " Works";

                 } else {
       $_SESSION["ErrorMessage"]= "Doesnt Work";

                        }

我需要做的是:检查最后插入的列:'tarih',然后将两个新列作为'uretilen_koli1''tarih1',然后继续使用相同的系统,因为用户添加了'uretilen_koli2''tarih2'等新信息

自动生成关于最后一列编号/值的新列的方法是什么?

$Connection=mysqli_connect('localhost','root','','database');
    $ViewQuery="SHOW COLUMNS FROM koli_stok_hareketleri";
    $result=mysqli_query($Connection,$ViewQuery);
    while($ColumnNames=mysqli_fetch_array($result)){

        $LastColumnName = $ColumnNames['Field'];
        $_SESSION["ErrorMessage"]= "$LastColumnName";


    }

我可以用这种方式得到最后一列,但现在我需要循环它。

标签: phpmysql

解决方案


我通过简单地消除字符串来解决它。

    $Connection=mysqli_connect('localhost','root','','database');
    $ViewQuery="SHOW COLUMNS FROM koli_stok_hareketleri";
    $result=mysqli_query($Connection,$ViewQuery);
    while($ColumnNames=mysqli_fetch_array($result)){
    $LastColumnName = $ColumnNames['Field'];
    $_SESSION["ErrorMessage"]= "$LastColumnName";   }


    $NewColumnNameKoliAdet=$LastColumnName+1;
    $NewColumnNameTarih=$LastColumnName+2;

    $Connection=mysqli_connect('localhost','root','','database');
    $Query="ALTER TABLE `koli_stok_hareketleri`
    ADD `$NewColumnNameKoliAdet` INT(11) NOT NULL AFTER `$LastColumnName`,
    ADD `$NewColumnNameTarih` INT(11) NOT NULL AFTER `$NewColumnNameKoliAdet`;";

   $Execute=mysqli_query($Connection,$Query)
    or die("Bad Query: $Query");
        if($Execute){
          $_SESSION["SuccessMessage"]= " Works";

                 } else {
       $_SESSION["ErrorMessage"]= "Does Not Work"; }

推荐阅读