RE: [PHP] How to output a NULL field?
| From: | TG | Date: | Wed, 26 Aug 2009 12:29:11 +0000 |
| Subject: | RE: [PHP] How to output a NULL field? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-297257@lists.php.net to get a copy of this message | ||
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@SHH.ORG>
To: "Paul M Foster" <paulf@quillandmouse.com>, <php-general@lists.php.net>
Date: Wed, 26 Aug 2009 07:29:53 -0400
Subject: RE: [PHP] 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@quillandmouse.com]
> Sent: Tuesday, August 25, 2009 4:39 PM
> To: php-general@lists.php.net
> Subject: Re: [PHP] 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
>