Bug #17907 Updated: mysql_query seems to strip trailing spaces from variables
| From: | andrewt at weekendhosting dot com | Date: | Fri, 21 Jun 2002 18:00:49 +0000 |
| Subject: | Bug #17907 Updated: mysql_query seems to strip trailing spaces from variables | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-11714@lists.php.net to get a copy of this message | ||
ID: 17907
Updated by: andrewt@weekendhosting.com
Reported By: andrewt@weekendhosting.com
-Status: Bogus
+Status: Open
Bug Type: MySQL related
Operating System: Win2000 / Unix
PHP Version: 4.2.1
New Comment:
With respect, but please be gentle, i've read that page, I don't know
what more I can tell you
$myVar = '1234 ' // note the trailing space
If I include this in a query
$query = "INSERT INTO myTable (myValue) VALUES ('$myVar')";
I would expect it to store '1234 ' including the trailing space in to
the db. However, what actually happens is somewhere between calling
mysql_query() and the query taking place something strips the trailing
space.
This happens on 4.0.6, 4.1.2 and 4.2.1, it happens on my Win2000 box
and my Unix host. The field is a varchar.
If I make the same insert using a Win32 gui (such as mysqlFront) it
includes the trailing space, if then copy the sql statement that the
gui uses in to a mysql_query() the space goes.
I really can't give any more information than this, please please don't
just dismiss this as bogus, just run those two lines against a DB, if
it doesn't happen to you then just ignore me.
Just to re-itterate, I can not store values with trailing spaces in to
mysql.
Previous Comments:
------------------------------------------------------------------------
[2002-06-21 13:53:30] cynic@php.net
You haven't provided the required info -> bogus.
------------------------------------------------------------------------
[2002-06-21 13:45:00] andrewt@weekendhosting.com
It's nothing more complex than I can't insert a variable in which the
last character is whitespace into mysql using mysql_query.
$myVar = '1234 ';
will go in to the database as '1234'
I can do this using mysqlfront which indicates there is something
different in the php function mysql_query
------------------------------------------------------------------------
[2002-06-21 13:38:45] cynic@php.net
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
------------------------------------------------------------------------
[2002-06-21 13:37:37] andrewt@weekendhosting.com
Further to this mysqlfront (which is presumably using the c++ mysql API
can handle this trailing space no problem)
------------------------------------------------------------------------
[2002-06-21 13:34:25] andrewt@weekendhosting.com
$myVar = 'SR4 1 ';
$sql = "INSERT INTO myTable (myField) VALUES ('$myVar')";
echo $sql."<br>";
$result = mysql_query($sql);
-----
I'm not so sure if this is a bug, but surely, it's not supposed to do
this ??
Thanks
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=17907&edit=1