2011-09-23 70 views
-1
%3Cimg+src%3D%27http%3A%2F%2Fmnmstatic.net%2Fcache%2F15%2F15%2Fthumb-1381820.jpg%27+width%3D%2760%27+height%3D%2760%27+alt%3D%27%27+class%3D%27thumbnail%27+style%3D%27float%3Aright%3Bmargin-left%3A+3px%27+align%3D%27right%27+hspace%3D%273%27%2F%3E%3Cp%3EAunque+se+haya+dado+marcha+atr%C3%A1s%2C+lo+que+ha+ocurrido+en+RTVE+es+muy+serio.+Seg%C3%BAn+Gabilondo%2C+este+asunto+nos+permite+ver+con+claridad+por+d%C3%B3nde+va+la+pol%C3%ADtica+y+por+d%C3%B3nde+va+el+pensamiento+del+PP+entorno+a+la+libertad+de+informaci%C3%B3n.%3C%2Fp%3E%3Cp%3E%3Cstrong%3Eetiquetas%3C%2Fstrong%3E%3A+tve%2C+i%C3%B1aki+gabilondo%3C%2Fp%3E%3Cp%3E%3Ca+href%3D%22http%3A%2F%2Fmenea.me%2Ftm7w%22%3E%3Cimg+src%3D%22http%3A%2F 
%2Fwww.meneame.net%2Fbackend%2Fvote_com_img.php%3Fid%3D1381820%22+alt%3D%22votes%22+width 
%3D%22200%22+height%3D%2216%22%2F%3E%3C%2Fa%3E%3C%2Fp%3E%3Cp%3E%26%23187%3B%26nbsp%3B%3Ca+href%3D%22http%3A%2F%2Fblogs.cadenaser.com%2Fla-voz-de-inaki%2F2011%2F09%2F23%2Ftve-acorralada%2F%22+onmousedown%3D%22this.href%3D%27http%3A%2F%2Fwww.meneame.net%2Fbackend%2Fgo.php%3Fid%3D1381820%27%3B+return+true%22+%3Enoticia+original%3C%2Fa%3E%3C%2Fp%3E 

這將是一個RSS文件包含的文本$item->description我試圖存儲在我的MySQL數據庫,但它存儲一個空字符串。這個文本爲什麼會被存儲爲空的文本mysql字段

文字此示例是$mysql查詢之前一直向右下echo

是因爲它通過%3C前面?

完整的腳本是:

$filename = "http://www.ofertasybonos.com/blog/?feed=rss2"; 
$feed = simplexml_load_file($filename); 

// Iterate through the list and create the unordered list 
$n = false; 
foreach ($feed->channel->item as $item) { 
      $user  = "ofertasybonos"; 
      $pass  = "ofertasybono"; 
      $title = urlencode($item->title); 
      if(strlen($item->description)>6000){ 
    $notes = urlencode(substr($item->description, 6000).'..'); 
}else{ 
    $notes = urlencode($item->description); 
} 
      $url = urlencode($item->link); 
      $tags = ''; $tags .= urlencode(urlencode($item->category)); if($tags=='') $tags = urlencode("ofertas, bonos"); 

      $params = "nombre=$user&pass=$pass&url=$url&tags=$tags&notes=$notes&title=$title"; 

      $res = file_get_contents ("http://domain.com/API/public/autosave.php?$params"); 
      /*this file getContents stores in database*/ 


    $n = true; 
} 


this is how is (supoused to be) stored 

Recive數據形式的file_get_contents

$texto = urldecode($_GET['notes']); 

儲存在數據庫

$insert = "INSERT INTO links (nombre, coment, url, iduser,fecha,priv) 
           VALUES ('$b','$r_int','$texto ','$id_tmp',NOW(),'$priv')"; 

爲什麼文本存儲空的任何想法?

+0

哪裏就是你存儲和檢索該字符串的代碼? – Mat

+0

由於您已驗證字符串是否正確,因此問題可能在於您如何將其存儲在數據庫中,因此您應該在您的問題中包含MySQL代碼。 – hammar

+0

'%3C'是'<',它在MySQL中沒有任何特殊含義。 '%'確實有特殊的含義,它是一個通配符我認爲它需要像'\'這樣用'\'轉義:''\%3C .....'爲每個'%'。 – Johan

回答

0

你前面忘記$ texto的

$insert = "INSERT INTO links (nombre, coment, url, iduser,fecha,priv) VALUES ('$b','$r_int','$texto','$id_tmp',NOW(),'$priv')";

+0

aha ..真的,但它只在我的.php文件中的問題很好,編輯:謝謝抱歉 –