2014-04-16 23 views
0

我將根據第三方提交的XML文件的內容更新數據庫。PHP/SQL - 僅插入現有列

事情是XML文件的結構會有所不同,也有不進入數據庫的節點的值。

由於結構不同,我將不得不檢查節點的名稱並根據該名稱將子數據引導到正確的表。不過,我需要嘗試將所有子節點值插入到數據庫中,因爲我無法預測將要出現的子節點。

因此,在一個情況下,我可能會得到:

<xyz> 
<abc> 
<test>test</test> 
</abc> 
</xyz> 

還有一次也可能是:

<xyz> 
<pqr> 
<test>test</test> 
<name>test</name> 
</pqr> 
</xyz> 

所以我可以將表名稱設置爲abc或PQR很輕鬆了,但如果PQR不沒有列「測試」,那麼我不能循環通過添加值到SQL INSERT。

理想情況下,我將能夠在SQL中編寫一些可以忽略將值添加到不存在的列的嘗試。

+2

使用MySQL的[Show Columns](http://dev.mysql.com/doc/refman/5.0/en/show-columns.html)命令查看導入前可以存儲的內容,並使用PHP檢查字段可以導入。你可以將每一行存儲在一個數組或類中,並在讀取每行後進行保存 – AeroX

+0

好吧,看起來很有用 – user1209203

回答

0

AeroX建議的MySQL's Show Columns命令有效。