[英]not able to create mysql table
我有一個看起來像這樣的表tracker_item
tracker_item
id heading trackerid
1 name 1
2 location 1
3 age 1
4 candidate 2
5 area 2
我希望使用標題下的參數根據trackerid創建不同的數據庫表。 例如,根據上述表tracker_item,我希望創建2個表
table1
id name location age
table 2
id candidate area
我試過的代碼是
$sql="SELECT * FROM `tracker_item` where trackerid='".$trackerid."' ";
$result = mysqli_query($con, $sql);
if(mysqli_num_rows($result)>0)
{
while($row = mysqli_fetch_assoc($result))
{
echo $sql1 = "CREATE TABLE item (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
".
$row['heading']
." VARCHAR(30) NOT NULL,
resume VARCHAR(50)
)";
}
if (mysqli_query($con, $sql1))
{
echo "Table created successfully";
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
}
我得到的$ sql1的輸出是
CREATE TABLE item (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, resume VARCHAR(50) )
CREATE TABLE item (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, location VARCHAR(30) NOT NULL, resume VARCHAR(50) )
CREATE TABLE item (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, age VARCHAR(30) NOT NULL, resume VARCHAR(50) )
我希望獲得$ sql1的o / p而不是多個表,如下所示,以便可以在數據庫中創建表
CREATE TABLE item ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, location VARCHAR(30) NOT NULL, age VARCHAR(50) )
誰能告訴我怎么做
您只需要修改while循環並在循環之前執行CREATE
。 您只希望循環通過串聯添加列:
if(mysqli_num_rows($result)>0)
{
$sql1 = "CREATE TABLE item (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, ";
while($row = mysqli_fetch_assoc($result))
{
$sql1 .= $row['heading']." VARCHAR(30) NOT NULL, ";
}
$sql1 .= "resume VARCHAR(50)) ";
if (mysqli_query($con, $sql1))
{
echo "Table created successfully";
}
else
{
echo "Error creating table: " . mysqli_error($con);
}
}
以這種方式連接整個查詢,然后執行查詢。
輸出:
CREATE TABLE item (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, location VARCHAR(30) NOT NULL, age VARCHAR(30) NOT NULL, candidate VARCHAR(30) NOT NULL, area VARCHAR(30) NOT NULL, resume VARCHAR(50))
我討厭當人們說“我不是那么遙遠...”或“此站點不會公開...”或“它僅用於學校,因此安全性並不重要...” 。 如果教師和教授從一開始就不談論安全性,那他們做錯了。 挑戰他們。 他們正在教授草率和危險的編碼實踐,學生以后必須取消學習。 當人們說“以后再添加安全性...”或“現在安全性不重要...”或“忽略安全風險...”時,我也討厭它。 如果您沒有時間在第一時間做對,那么您何時會找到時間再添加呢?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.