PHP SQL中的检查列为NULL

时间:2013-07-18 22:16:54

标签: php mysql sql

脚本php如何检查 如果我的数据库中有一个空列 在表格__ad其中列image_link 现在我的脚本无法检查是否有空列 我做错了什么 这是我的完整代码

<?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

为什么第一列和第二列不显示消息

感谢任何可以提供帮助的人

3 个答案:

答案 0 :(得分: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/>';
}

答案 1 :(得分:1)

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

您的检查涉及全部结果。仅当查询未返回任何结果时,empty函数才会返回false。您可以使用上面的查询或将if语句更改为此!empty($row_image['image_link'])

答案 2 :(得分:0)

如果将数据库列的默认值设置为NULL,则只需使用SQL运算符IS NULL

希望这会有所帮助。