I understand about the concat function, but that doesn't really fit into my
scheme of things

I run all text for the web through a function SafeSQL so that values from
the web don't make SQL error or potential hacks occur.

All SafeSQL was doing (for mssql, access and just about any other db) was
$text = preg_replace("/\'/","' + CHAR(39) + '",$text) so when SQL added the
rows with a value of 0 instead of the string I was baffled.

Shame mysql doesn't support inline concatenation

"John Holmes" <[EMAIL PROTECTED]> wrote in message
000701c21d14$fc054370$b402a8c0@mango">news:000701c21d14$fc054370$b402a8c0@mango...
> > INSERT INTO `contracts` (`key`, `content`) VALUES (1,'blah blah blah
> > character 39 is a single speach mark '+CHAR(39)+' blah blah blah')
>
> That's because you are adding strings together, not concatenating them
> (this isn't javascript!)
>
> Use CONCAT() in MySQL to join strings together.
>
> mysql> select 'this'+char(39)+'that';
> +------------------------+
> | 'this'+char(39)+'that' |
> +------------------------+
> |                      0 |
> +------------------------+
> 1 row in set (0.03 sec)
>
> mysql> select concat('this',char(39),'that');
> +--------------------------------+
> | concat('this',char(39),'that') |
> +--------------------------------+
> | this'that                      |
> +--------------------------------+
> 1 row in set (0.01 sec)
>
> ---John Holmes...
>



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

Reply via email to