簡體   English   中英

如何在MySQL中運行時創建表並將其保存到數據庫中

[英]How create a table at runtime in MySQL and save it into database

我創建了一個表單,用於在表單上創建輸入行數和列數的表。 我想將輸入的字段表創建到數據庫中並將其值保存到數據庫表中。 指導我應該使用什么。

我的代碼:

 <?php
    global $Host;
    global $Username;
    global $password;
    global $database;
    function getConnection()
    {
        $Host = "localhost";
        $Username = "root";
        $password = "";
        $database = "labdata";

        $oMysqli = new mysqli($Host,$Username,$password,$database);
        return($oMysqli);
    }
    ?>
    <html>
    <head>
    <title>aa</title>
    </head>
    <body>
        <form name="report Creation" method="post">
                            <label for='Table'>Define Table</label>

                            <label for='column'>Row</label>
                            <input type="text" name="column"></input>

                            <label for='rows'>Column</label>
                            <input type="text" name="rows"></input>

            <input type="submit" name="submit" value="submit">
    </form>
    </body>
    </html>     
    <?php
      function displayData($column,$rows)             
        {       
          echo "<table border='1' align='center'>";           
          for($i = 0;$i<$_POST['column'];$i++)       
            { 
                echo "<tr>".$i."</tr>";                              
                for($j = 0; $j <$_POST['rows'];$j++)         
                {
                 echo "<td>" ."<input type=\"text\" name='column_$i[$j]'>"."</td>"; 
                }
            }
            echo "</table>";
        echo "<form>";
        echo "<input type=\"submit\" name=\"ok\" value=\"ok\">";
        echo "</form>";
         //function displaydata($column = NULL) {if($id == NULL) Event::run('system.52');}
      }

    if(isset($_POST['submit']))displaydata();// Show data INSIDE form
    {
    $query = "CREATE TABLE Cars('$columns[$j]')";
    $oMysqli = getConnection();
    $oMysqli->query($query);
    $Insert = "INSERT INTO Cars(Id,column[$j]) VALUES($Id,$column)";
    $oMysqli = getConnection();
    $oMysqli->query($Insert);

    if(isset($_POST['ok']))
     {
      $plength = count($_POST['column']);
      for($j=0;$j<$plength;$j++)
      {

        $b = $_POST['column'][$j];
        $pa = array('column' => $b['column']);
        foreach($pa as $l => $m)
        {
            $pa[$l] = mysql_real_escape_string($m);
        }
                            $columns = $pa['column'];
                            $columns = $_POST['column'][$j];                        

                        for($n=0;$n<$columns;$n++)
                        {
                                $x= $_POST['column'][$j];
                                $ab = array('column' => $c['column']);
                                foreach($t as $u => $n)
                                {
                                 $ab[$u] = mysql_real_escape_string($n);                             
                                }
                                $columns = $ab['column'];
                                $columns = $_POST['column'][$j];
                        }

        }
    }
        if($result = $mysqli->query($Insert))
            {
             $k=0;
             $column = explode(",",$_POST['columns']);
                        foreach($column as $c)
                    {
                      echo "<td><b>$c</b></td>\r\n";
                    }
                echo "</tr>";
            }
        }
    ?>

回答你的問題:創建一個表正在對服務器執行一條SQL語句。

你應該重新考慮你的策略,根據用戶輸入創建一個表是糟糕的設計。

在查詢中使用“CREATE TABLE”語法。

所有關於它的信息: http//dev.mysql.com/doc/refman/5.1/en/create-table.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM