|  | Posted by "Shaun" on 10/18/05 22:15 
Hi all,
 Thanks for your replies, rather than check each vaule by name I am trying to
 produce a more dynamic solution:
 
 foreach ($_POST as $key => $value) {
 if ($value == '') {
 $_POST[$key] == 'NULL';
 }
 }
 
 I was expecting $_POST[$key] to be the same as $key, however this isnt the
 case:
 
 $key = city
 $_POST[$key] = London
 $value = London
 
 Any ideas?
 
 ""Richard Lynch"" <ceo@l-i-e.com> wrote in message
 news:6246.67.108.68.36.1129661387.squirrel@www.l-i-e.com...
 > On Tue, October 18, 2005 12:42 pm, tg-php@gryffyndevelopment.com wrote:
 >> That should work.  You can set it so you can't have NULL, but dont
 >> know of anything that tells the database not to accept '' as a value
 >
 > Any database, other than MySQL, is *NOT* going to accept '' as an
 > integer value.
 >
 > Because '' is not an integer by any stretch of the imagination.
 >
 > If you don't care about ever porting your application to something
 > other than MySQL, then you can IGNORE the advice to not use '' on
 > integers.
 >
 > If there's ANY possibility that some day somebody might maybe wanna
 > use a different database with your application, then don't confuse
 > strings with integers.
 >
 > Actually, it might be better for your own
 > education/sanity/comprehension/documentation/code to not confuse
 > strings and integers with '' around integers in the SQL, but if
 > everything ELSE is good in your code, and it's "always going to be
 > MySQL" then it's fine.
 >
 > Note that:
 >
 > $value2 = 'NULL'; //PHP $value2 is a string
 >
 > $query = "insert into (integer_field) values ($value2)";
 > //PHP $query is a string, but...
 >
 > The place-holder in $value2 will be just:     NULL
 >
 > No quotes.
 >
 > No apostrophes.
 >
 > Not a string.
 >
 > NULL
 >
 > SQL NULL value representing "no value"
 >
 > --
 > Like Music?
 > http://l-i-e.com/artists.htm
  Navigation: [Reply to this message] |