2011-05-19 68 views
-4

我的數組不返回像杜澤「價值如何pg_escape_string在數組中返回值

$query= "select vmname,guid,hostid,guestosname from vmobjects"; 

    AddLog("infrastructure.php","Query: ".$query,ERR_DEBUG_LOW); 
    $result = pg_query($conn,$query); 
    $no_records=pg_num_rows($result); 
    $j=$no_records; 
    $i=0; 
    while($row = pg_fetch_array($result)) 
    { 
     if($row[3]=="") 
     { 
      $vmobj_Array[$i]=$row[0].'***'.$row[1].'***'.$row[2]; 
     } 
     else 
     { 

      $vmobj_Array[$i]=$row[0].'***'.$row[1].'***'.$row[2]; 
     } 
     $i++; 
    } 

這是我的其他網頁

$username_escaped = pg_escape_string($username); 
    $password_escaped = pg_escape_string($password); 
    $name_escaped = pg_escape_string($name); 

     $query = "insert into vmobjects (guid,ipaddress,username,password,hostid,vmname,guestostype) values('".$guid."','".$ip."','".$username_escaped."','".$password_escaped."','".$hostid."','".$name_escaped."','".strtolower($os)."')"; 
+1

根本沒有細節 – emaillenin 2011-05-19 09:02:34

回答

1

上pg_escape_string當你說「不回「你的意思是當你在管理你的數據庫時查詢數據庫,還是你的意思是當你在網頁上顯示結果?

我會認爲你的意思是後者,在這種情況下,我猜這個問題現在已經出現,因爲你顯示的表單使用的是單引號value =''。您可以通過查看相關頁面的html源代碼來證明是否是這種情況。

您應該通過使用htmlentities()或該系列html轉義機制來轉義數據以在html中顯示(並保護用戶免受可能的xss攻擊)。