如何检查列是否为NULL而不是使用PHP和MSSQL清空

时间:2014-02-25 03:59:31

标签: php sql sql-server

我有PHP代码,它应该显示保存到我的MSSQL表的行列photo中的图像名称。某些行的photo列设置为NULL,而某些行的02.jpg列中的数据为photo。如果我使用下面的代码,02.jpg不会显示,因为它从零开始。我想找到一种方法来检查列是否设置为NULL而不是空,因为空不允许某些图像名称。

这是PHP代码:

$picature2 = "SELECT photo1 FROM used_trailers1 WHERE orderid = $sn";
$query1=mssql_query($picature2, $conn);
$array1=mssql_fetch_assoc($query1);
$picature2=stripslashes($array1['photo1']);

if (empty($picature2['photo1'])){
    $picature2= "No Image";
} else {
    $picature2=stripslashes($array1['photo1']);
}

如果photo列设置为NULL,则上面的代码会正确显示“无图像”,但如果photo列为02lady.jpg,那么它将无法正常工作,因为它始于零。

以下是我的尝试:

if (IS_NULL($picature2['photo1'])){

到目前为止,如果photo的列数据为NULL,则无效并且不显示“无图像”。

感谢您的帮助。非常感谢所有帮助。

3 个答案:

答案 0 :(得分:1)

更新

  if ($picature2['photo1']===null || ctype_space($picature2['photo1'])){
    $picature2= "No Image";
    }

     else {
        $picature2=stripslashes($array1['photo1']);
    }

答案 1 :(得分:0)

您可以使用php is_null()函数http://us2.php.net/manual/en/function.is-null.php

答案 2 :(得分:0)

您有以下

$picature2=stripslashes($array1['photo1']);
if (empty($picature2['photo1'])){

photo1分配给$picature2,然后检查$picature2['photo1']哪个$picature2不是数组。

您应该使用以下

#$picature2=stripslashes($array1['photo1']);
#remove this because if you have NULL and use stripslashes it turns into ""
if($array1['photo1'] === NULL){
    $picature2 = "No Image";
}else{
    $picature2 = stripslashes($array1['photo1']);
}