2013-12-19 29 views
0

XML數據inseting到MySQL數據庫我想用file_get_contents()讀取XML文件,然後將此文件插入到我的MySQL數據庫,但我有我的代碼中的錯誤,請參閱下面我的代碼:通過PHP

//details ommited 
$address= $_GET['address']; 
$xml = file_get_contents($address); 
db_connect(); // my db connection function 
$query = "INSERT INTO feeds SET name = '$name' , xml_data = '$xml' "; 
$result = mysql_query($query); 
if(!$result) 
{ 
    echo mysql_error(); 
} 
// end of my code 

所以,當我這個錯誤添加, xml = '$xml'我的SQL $query,PHP秀對我說:

您的SQL語法錯誤;檢查對應於您的MySQL服務器版本使用附近的正確的語法手動的OFF態電流。]]> < /描述> \ n \噸\噸\噸< /'位於第1行

回答

0

一些建議

  • 使用PDO參數綁定
  • 逃脫你的XML輸入

隨着你當前如何做,$ XML可能有一個結束你的SQL語句普雷馬特字符網址Y。我不知道哪個角色可能會導致這種情況,但我的建議應該解決這個問題。

+0

你能解釋一下嗎? – user3120600

+0

如果我使用轉義字符,我從我的數據庫獲取這個XML後,將不會有任何問題解析我的XML? – user3120600

+0

這是一個很好的觀點。我沒有想到這一點。您需要至少執行參數綁定以防止SQL注入。我不確定是否需要轉義輸入或參數綁定可以實現的程度。從數據庫獲取數據後,您可能不得不取消您的xml。我不確定,所以我不得不把它作爲一個練習。 – user2910265