On Thu 17 Mar 05,  2:26 PM, Reid Thompson <[EMAIL PROTECTED]> said:
> Peter Jay Salzman wrote:
> > Hi Mike,
> > 
> > To be perfectly honest, other than being a Microsoft thing, I
> > don't really know what .NET is.  Pretty pathetic, huh?  :)
> > 
> > This is some PHP code on Linux.  I suspect it was originally
> > written on a Microsoft operating system because when I edit
> > the files, my editor reports the textfiles as being "dos"
> > (they contain carriage-return and linefeeds at the end of each line).
> > 
> > I hear you about the []; I *wish* I could use them.  Proper
> > quoting inside of PHP is very painful:
> > 
> > 
> >        $query = "INSERT INTO $database_table
> >           (id, day, month, date, year, category, title, body,
> >           showpref) VALUES (null,
> >           '" . sqlite_escape_string($_POST['the_day'])      . "',
> >           '" . sqlite_escape_string($_POST['the_month'])    . "',
> >           '" . sqlite_escape_string($_POST['the_date'])     . "',    
> > (snip) 
> > 
> > The stuff that looks quoted (the middle section) is actually
> > the stuff outside the language quotes, but inside the quoted
> > quotes.  Gruesome.
> > 
> > But if I don't use sqlite_escape_string, single quotes cause
> > a "SQL logic or missing database" error.
> > 
> > But then, if I use sqlite_escape_string, I have to test
> > get_magic_quotes_gpc and use stripslashes, and Eugene
> > recommended.  Hard to believe there isn't a better way of doing this!
> > 
> > Pete
> > 
> > 
> > 
> > On Thu 17 Mar 05,  5:59 AM,
> > [EMAIL PROTECTED]
> > <[EMAIL PROTECTED]> said:
> >> Are you using the SQLite .NET provider?  Just curious, anyway, SQLite
> >> also supports using [ ] instead of  " " and believe me it's a good
> >> thing, using " " as delimiters is a poor choice considering this
> >> conflicts with almost all languages when it comes to string
> >> concatenation. In fact, I recommend use [ ] over " " all of the time,
> >> however, the SQLite .NET managed driver has issues with the [ ]
> >> delimiter style. 
> >> 
> >> 
> >>> I've nearly completed converting Wheatblog to sqlite.  It's been
> >>> quite a learning experience!  I've come across a problem I haven't
> >>> been able to figure out, though.
> >>> 
> >>> Whenever I made a blog post that had a forward quote character (')
> >>> in either the title or the body of the post, I'd get an error.
> >>> 
> >>> After a little Googling, I changed my query to:
> >>> 
> >>> 
> >>>       $query = "INSERT INTO $database_table
> >>>          (id, day, month, date, year, category, title, body,
> >>>          showpref)          VALUES (null, '" .
> >>>          sqlite_escape_string($_POST['the_day'])      . "', '" .
> >>>          sqlite_escape_string($_POST['the_month'])    . "', '" .
> >>>          sqlite_escape_string($_POST['the_date'])     . "', '" .
> >>>          sqlite_escape_string($_POST['the_year'])     . "', '" .
> >>>          sqlite_escape_string($_POST['the_category']) . "', '" .
> >>>          sqlite_escape_string($_POST['the_title'])    . "', '" .
> >>>          sqlite_escape_string($_POST['the_body'])     . "', '" .
> >>> sqlite_escape_string($_POST['the_showpref']) . "')"; 
> >>> 
> >>>       DB_query($query, $db);
> >>> 
> >>> and the definition of DB_query is:
> >>> 
> >>> 
> >>>    function DB_query($cmd, $db)
> >>>    {
> >>>       $retval = sqlite_query($db, "$cmd")
> >>>          or die('Query Error: ' .
> >>> sqlite_error_string(sqlite_last_error($db)));
> >>> 
> >>>       return $retval;
> >>>    }
> >>> 
> >>> This works in the sense that forward quotes no longer generate an
> >>> error. However, whenever I print out a blog post, the forward
> >>> quotes are all escaped.   So if I post: 
> >>> 
> >>>    This contains a ' character.
> >>> 
> >>> The post, when printed looks like:
> >>> 
> >>>    This contains a \' character.
> >>> 
> >>> What's the proper way to ensure that ' characters are properly
> >>> quoted but don't show up in the output?
> 
> dos2unix "filename"      will remove the trailing carriage returns
> 
> reid

I read that in a NSP book awhile ago (Linux Cookbook).  It's faster than
"%s/
//g".  Very handy.  But which problem does this address?  :)

Pete

-- 
Save Star Trek Enterprise from extinction: http://www.saveenterprise.com

GPG Fingerprint: B9F1 6CF3 47C4 7CD8 D33E  70A9 A3B9 1945 67EA 951D

Reply via email to