2013-07-18 26 views
0

如何腳本PHP可以檢查 如果在我的數據庫中的空列 表the_ad凡列圖片鏈接 現在我的腳本不能檢查,如果有一個空列 我是怎麼做錯 這裏是我完整的代碼檢查列是NULL從PHP SQL

<?php 
$username = "root"; 
$password = ""; 
$hostname = "localhost"; 
$dbhandle = mysql_connect($hostname, $username, $password) 
or die("Unable to connect to MySQL"); 

$selected = mysql_select_db("test",$dbhandle) 
or die("Could not select test"); 

//fetch tha data from the database 
$result_image_link = mysql_query("SELECT image_link FROM test. the_ad"); 
while ($row_image = mysql_fetch_array($result_image_link)) { 
if (empty($result_image_link)) { 
    echo "no image_link"; 
} 
else 
if (isset($result_image_link)) { 
echo "PIC=".$row_image{'image_link'}."<br>"; 
} 
} 
mysql_close($dbhandle); 
?> 

我看到列的列表likethis

    1. PIC =
    2. PIC =
    3. PIC = pic3.jpg
    4. PIC = pic4.jpg
    5. PIC = pic5.jpg
    6. PIC = pic6.jpg
    7. PIC = pic7.jpg

爲什麼列中的一個和兩個不顯示消息

由於任何人誰可以幫助

回答

1

使用此查詢:SELECT image_link FROM test WHERE image_link != NULL

你的檢查結果有關的全部金額。只有當查詢沒有返回結果時,empty函數纔會返回false。您可以使用上面的查詢或將您的if語句更改爲此!empty($row_image['image_link'])

+1

+1。我認爲它更好地改變查詢本身,而不是獲取不需要的值(然後檢查它們),即使它們是NULL值。這種方法可能也會更快。 – Maximus2012

+0

如果更改查詢的過程會更好,但是當您想要顯示具有其配置文件映像(如果存在)的用戶列表的頁面時,另一種方法會更有用。 – Pieter

+0

我明白你在說什麼了。如果您想要顯示默認圖像(如果圖像不存在),則可以將此方法與更新後的查詢結合使用。所以在OP的情況下,除了在MySQL級別進行過濾外,還需要一個php檢查。 – Maximus2012

2

您可以添加SQL語句WHERE `image` != ''

$result_image_link = mysql_query(" 
    SELECT `image` 
    FROM `table` 
    WHERE `image` != '' 
"); 

while($row_image = mysql_fetch_array($result_image_link)) 
{ 
    echo "PIC=" . $row_image['image'] . "<br/>"; 
} 

OR

while ($row_image = mysql_fetch_array($result_image_link)) 
{ 
    echo (isset($row_image['image']) AND $row_image['image'] != '') 
     ? "PIC=" . $row_image['image'] . "<br/>" 
     : 'no picture <br/>'; 
} 
+0

感謝您的幫助 它工作得很好 – manny

+0

@曼尼,沒問題,歡迎光臨) – lysenkobv