我想使用表中現有列的值作爲創建到另一個現有表中的列的名稱。同時將從另一個表中獲得的值插入到新創建的列中。 我有以下內容: 表:「feature_description」包含4列。 feature_id feature_language feature_name feature_admin_name 2 2 Laktosefrei:Laktosefrei .... 在feature-admin_name下有8個值。我想將8個新列添加到以這8個值命名的現有表「產品」中。 直到現在我有以下代碼。使用select查詢中的值作爲新列的名稱將新列添加到現有TABLE中
<?php
if ($conn = mysqli_connect("127.0.0.1", "root", "xxxxxxx", "fk16"))
{
$feature_index = "SELECT *
FROM feature_set_values AS fsv
LEFT JOIN feature_value_description AS fvd ON fsv.feature_value_id = fvd.feature_value_id
LEFT JOIN feature_value AS fv ON fv.feature_value_id = fvd.feature_value_id
LEFT JOIN feature_description AS fd ON fd.feature_id = fv.feature_id
LEFT JOIN feature_set_to_products AS fstp ON fstp.feature_set_id = fsv.feature_set_id";
if ($filter_query = mysqli_query($conn, $feature_index))
{
while ($filter_name = mysqli_fetch_array($filter_query))
{
//$feature_name = array();
$feature_name = $filter_name["feature_admin_name"];
//$feature_value = array();
$feature_value = $filter_name["feature_value_text"];
for ($i = 0; $i < count($filter_name['feature_admin_name']); $i++){
echo $filter_name['feature_admin_name'][$i]."\n<br />";
mysqli_query($conn, "ALTER TABLE products ADD (".$filter_name['feature_admin_name'][$i]." VARCHAR(50))");
}
}
//echo "</table>";
}
mysqli_close($conn);
}
else {
echo "My Fehler";
}
?>
但我得到的只是4列添加到表中的8個值的名稱「產品」的列! 8值包括:Laktosefrei,Glutenfrei,Gentechnikfrei,BIO,Herkunft,Milchsorte,Labart,Milchbehandlung。 但是我得到4列名稱:L,G,H,M。 我做錯了什麼? Kann請有人幫助我解決這個問題。 Thankyou。 當「的var_dump」使用, 然後我得到了「回聲」的結果: 所有的Result of "var_dump" by "echo"
'var_dump($ filter_name [「feature_admin_name」])''並將輸出添加到問題中。 – Kishor
當我改變代碼:'$ feature_name = var_dump($ filter_name [「feature_admin_name」]'我得到每個「回聲」以下內容:string(11)「Laktosefrei」string(10)「Glutenfrei」string(14)「Gentechnikfrei 「字符串(8)」Herkunft「字符串(10)」Milchsorte「字符串(6)」Labart「字符串(15)」Milchbehandlung「但是沒有新的列被添加到表產品中 – Cyrus
首先, var_dump'到一個變量中,然後'echo'它,我不確定這是否可能,你只需'var_dump'這個變量來看看裏面是什麼。關於你的問題,是echo $ filter_name ['feature_admin_name']行[\ n
「;'完全輸出這個單詞還是隻輸出單詞的第一個字母? – Kishor