2013-10-24 51 views
1

我有一個if語句,假設該行的$vid列中存在內容,應將變量$pc162v設置爲在MySQL表中指定的鏈接。問題是,PHP正在檢測到MySQL中存在鏈接,但未正確設置$pc162v變量。從if語句無法正確執行的變量

這裏的變量聲明:

$pc162v = ""; 
$vid162 = '<embed width="420" height="236" src="'.$pc162v.'" type="application/x-shockwave-flash"></embed>'; 

這裏的if語句的部分:

if (empty($row[7])) { 
    $vid162 = ''; 
} 
else { 
    $pc162v = $row[7]; 
} 

在我的網頁瀏覽器,在使用變量$vid162代碼的一部分,顯示瞭如下所示:

<embed width="420" height="236" src="" type="application/x-shockwave-flash"> 

我也試過設置$ vid162於:

<embed width="420" height="236" src="<?php echo $pc162v; ?>" type="application/x-shockwave-flash"></embed> 

而且只是使代碼在我的網頁瀏覽器:

<embed width="420" height="236" src="<?php echo $pc162v; ?>" type="application/x-shockwave-flash"> 

希望有人有一個解決方案!提前致謝。

+0

該變量是空的嗎?那麼它顯示爲空時回顯 –

+0

也許發佈有關該問題的所有代碼。現在看起來您正在將'$ pc162v'設置爲空字符串。但期待它有另一個價值。 – tlenss

+0

@SmithSmithy它最初被聲明爲空,但應設置爲if語句的「else」部分中第7行的內容。 – swiftsly

回答

1

您聲明一個空的var $ pc162v,然後在下一行使用它來填充$ vid162中的src屬性。我會用:

$vid162 = ''; 

if (!empty($vid)) //Or $row[7], if that contains the url 
    $vid162 = '<embed width="420" height="236" src="'.$vid.'" type="application/x-shockwave-flash"></embed>'; 
+0

謝謝,沒有真正想過這樣做,對我正在嘗試做的事很好。 – swiftsly

+0

不客氣! – redelschaap

0

我假設你在調用之前聲明變量爲空以便爲我們演示。如果不是,那肯定是問題所在。

看起來,PHP本身並沒有在你的代碼中被解析。雖然我不能具體告訴你是否在沒有看到與數據庫交互的情況下設置變量,但我可以說PHP應該總是解析,如果從配置正確的PHP的Web服務器提供。如果您知道PHP在其他地方正確解析,請確保您使用的頁面具有.php擴展名。

如果您不確定變量是否設置正確,我會做的就是設置一個測試用例。換句話說,在這種情況下,你很難相信變量將從數據庫中正確地拉出來,然後只是在頁面上的某個地方回顯它。或者更好的是,您可以使用像Kint這樣的工具來幫助您進行調試。這絕對是從舊的var_dump($ var); die();企業,儘管這也是一種選擇。

因此,本質上,我將驗證PHP是否在您的頁面上被解析,然後通過echo或通過使用var_dump來測試該變量。