Sorry, didn't follow this whole thread but have you tried print_r() or var_dump() to see what it looks like when it's type "variant"? I'd be curious to see what you'd find in it. Also, I forget about SQL Server, but MySQL has a function ifnull() which can make sure you never return a null value. This is also handy for checking for empty fields where you don't know if it's going to be an empty string or a null: SELECT * FROM table WHERE ifnull(somefield, '') = '' If you know which columns are nullable, try seeing if there's an ifnull() function in SQL Server to adjust the data before it even gets to your DB class. -TG ----- Original Message ----- From: "David Stoltz" <Dstoltz@xxxxxxx> To: "Paul M Foster" <paulf@xxxxxxxxxxxxxxxxx>, <php-general@xxxxxxxxxxxxx> Date: Wed, 26 Aug 2009 07:29:53 -0400 Subject: RE: How to output a NULL field? > Paul, > > This all started because when I try this: > > <?php echo $rs->Fields(22);?> > > It work fine, as long as there is a non-null value there, otherwise it > produces an error. > > Also, I'm working with a Microsoft SQL 2000 database, not MySQL....not > sure if that matters.... > > But "echo $rs->Fields(22)" works perfectly for dumping values out of my > $rs recordset...that is, unless the value is NULL is the database - then > I get: > > Catchable fatal error: Object of class variant could not be converted to > string in D:\Inetpub\wwwroot\evaluations\lookup2.php on line 176 > > > -----Original Message----- > From: Paul M Foster [mailto:paulf@xxxxxxxxxxxxxxxxx] > Sent: Tuesday, August 25, 2009 4:39 PM > To: php-general@xxxxxxxxxxxxx > Subject: Re: How to output a NULL field? > > On Tue, Aug 25, 2009 at 02:00:04PM -0400, David Stoltz wrote: > > > $rs->Fields(22) equals a NULL in the database > > > > My Code: > > > > if(empty($rs->Fields(22))){ > > $q4 = ""; > > }else{ > > $q4 = $rs->Fields(22); > > } > > > > Produces this error: > > Fatal error: Can't use method return value in write context in > > D:\Inetpub\wwwroot\evaluations\lookup2.php on line 32 > > > > Line 32 is the "if" line... > > > > If I switch the code to (using is_null): > > if(is_null($rs->Fields(22))){ > > $q4 = ""; > > }else{ > > $q4 = $rs->Fields(22); > > } > > > > It produces this error: > > Catchable fatal error: Object of class variant could not be converted > to > > string in D:\Inetpub\wwwroot\evaluations\lookup2.php on line 196 > > > > Line 196 is: <?php echo $q4;?> > > > > What am I doing wrong? > > > > Thanks! > > Just a thought... do you really mean $rs->Fields(22) or do you mean > $rs->Fields[22]? The former is a function call and the latter is an > array variable. > > Paul > > -- > Paul M. Foster > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php