2013-12-19 35 views
1
enter 
<?php $dob=$_SESSION['dob']; 
$month=$_SESSION['month']; 
$exists = false; 
$columns = mysql_query("show columns from $month"); 
while($c = mysql_fetch_assoc($columns)){ 
    if($c['Field'] == $dob){ 
    $exists = true; 
    break; 
    } 
}  
if(!$exists){ 
    mysql_query("ALTER TABLE `$month` ADD `$dob` varchar(100) default absent"); 
} 
$roll=$_SESSION['var']; 
foreach($roll as $value=>$roll) { 
    $name = mysql_real_escape_string ($roll); 
    $sql="insert into $month (roll) values ('$name')"; 
    mysql_query($sql)or die(mysql_error()); 
} 
?> 

問:如何在mysql php中創建表和更改表?如何動態創建表格並在列不存在時更改表格

+0

當列不存在...所以,先創建列... – sdespont

回答

0

要創建一個表做:

CREATE TABLE `tableName` (
... Columns ... 
); 
0

cretae表:

CREATE TABLE <tablename> (<column_name <data_type>(length if_required), ....); 

ALTER TABLE:

ALTER TABLE <tablename> ADD <newcolumnname> <data_type>(length if_required); 
ALTER TABLE <tablename> DROP <columnname>; 
ALTER TABLE <tablename> MODIFY <columnname> <data_type>(length if_required); 

更新表:

UPDATE <tablename> SET <columnname> = <value> WHERE(if_required) <condition>; 
0

也許您需要this?該ORM庫允許您在航班上開發數據庫模式。更多here

0

或者你可能需要所謂的CODE FIRST STYLE ORM PHP for PHP?我知道有一個,但它創建/根據你的類定義修改/變造表:

例如,如果您有:

class user 
{ 
    public $id; 
    public $name; 
} 

卜默認情況下它會創建帶有字段ID和名稱表的用戶。此外,該框架使用文檔註釋完全控制字段屬性和表格屬性。它被稱爲db.php(http://db.php)。