Re: Stricter Error Checking?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bob McConnell wrote:
> From: Tommy Pham
>>> From: Tim Legg
>>>
>>> I just spent way, way to much time trying to debug code due to a
> misnamed 
>>> element.  Here is a simplified example of the problem I dealt with.
>>>
>>>
>>>     $test = "SELECT * FROM `Materials` WHERE `Part_Number` =
> '125664'";
>>>     $result = mysql_query($test,$handle);
>>>     if(!$result)
>>>     {
>>>         die('Error: ' . mysql_error());
>>>     }
>>>     $row = mysql_fetch_array($result);
>>>     echo $row['Number'];
>>>
>>> After retyping the code 3 or 4 times over the course of the morning,
> I finally 
>>> found where the problem was.  The problem is that the database field
> is called 
>>> 'Part_Number', not 'Number'.  The field 'Number' does not exist in
> the 
>>> database.  I am very surprised that I didn't even get a warning that
> there might 
>>> be a problem with the statement.  All I saw is that nothing was being
> returned 
>>> via the echo command.
>> if(!$result)
>> {
>>         die('Error: ' . mysql_error());
>> }
>>
>> This didn't work when you used 'Number' instead of 'Part_Number'?
> Strange...
> 
> I think the problem is that he didn't check that the key he used
> actually existed before using the value it pointed to. So he got an
> empty string for $row['Number']; because the key should have been
> 'Part_Number'. I don't know that even E_STRICT would catch that one.
> 
> Bob McConnell

What?  With E_ALL or E_STRICT:

Notice: Undefined index:  Number in file.php on line X

-- 
Thanks!
-Shawn
http://www.spidean.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux