是否可以在不编辑数据库的情况下添加新字段,但使用PHP代码或jquery在我的数据库中插入新字段,所以让我说我的表名为MAIN
(COL1 ,COL2)
在我的PHP代码/ jquery中将在我的数据库中插入新字段(COL 3)
。有可能吗?
$result=("SELECT * FROM main");
$res = $conn->query($result);
if(isset($_POST['Add'])){
if(empty($_POST['ParentCreate'])){
echo "Fill up the textbox";
}else{
$sql = "ALTER TABLE tablemain ADD COLUMN
'".$_POST['ParentCreate']."' VARCHAR(100) NOT NULL COMMENT '' AFTER
main_one";
$conn->query($sql);
echo "New Field created";
}
}
-----------------------------------
<body>
<div id="frm_div">
<form id="frm1" action="">
<input type="text" name="ParentCreate" placeholder="ParentCreate" />
<input type="submit" name="Add" value="Add" />
</form>
</div>
<div id="result">
<?php
if($res!=""){
while($row=$res->fetch_row()){
echo $row[0]."<br/>";
echo $row[1]."<br/>";
}
}else{
echo "Nothing Found";
}
?>
</div>
答案 0 :(得分:1)
首先看一下:W3 Schools | SQL ALTER
您正在寻找的SQL代码:
ALTER TABLE table_name
ADD column_name datatype [AFTER previous_column_name]
[AFTER] - &gt;可选,最后默认。
在你的情况下(假设COL3的数据类型是VARCHAR):
ALTER TABLE MAIN
ADD COL3 VARCHAR(30) [AFTER previous_column_name]
如果你甚至不知道如何在PHP中使用mysqli看一下 PHP.net MySQLi Documentation (替代方案:php.net/manual/en/book.mysql.php)
但请注意! PHP将放弃对MySQL的支持,因此您最好使用MySQLi。
与主持人联系:
$conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)
or die("Failed to connect to Database: " . mysql_error());
选择数据库:
$db = mysql_select_db(DB_NAME, $conn)
or die("Failed to select Database: " . mysql_error());
定义您的查询:
$sql = "ALTER TABLE tablemain
ADD '".$_POST['ParentCreate']."' VARCHAR(100) NOT NULL AFTER main_one";
解雇您的查询:
mysql_query($sql) or die("Failed adding column: " . mysql_error());